Refactoring Databases: Evolutionary Database Design
by Scott W. Ambler; Pramod J. Sadalage
xUnit Test Patterns: Refactoring Test Code
by Gerard Meszaros
Continuous Integration: Improving Software Quality and Reducing Risk
by Paul M. Duvall; Steve Matyas; Andrew Glover
Implementation Patterns
by Kent Beck
Dreamweaver CS4: The Missing Manual, 1st Edition
by David Sawyer McFarland
Head First HTML with CSS & XHTML
by Elisabeth Robson; Eric Freeman
Sams Teach Yourself Microsoft Expression Web 3 in 24 Hours
by Morten Rand-Hendriksen
Content Strategy for the Web
by Kristina Halvorson
This is the Safari online edition of the printed book.
“Wow, what a compendium of great information and
how-to’s! I am so impressed! Elliotte’s written a book
whose title comes nowhere near to
doing it justice. Covering much more than just refactoring, this
book explains how to do it right the first time around, in a clear
and lucid
voice. Harold obviously knows his stuff. A must-read!”
—Howard Katz, Proprietor, Fatdog Software
“After working with people who require the skills and tools
necessary to continually improve the quality and security of their
applications, I
have discovered a missing link. The ability to rebuild and recode
applications is a key area of weakness for web designers and web
application
developers alike. By building refactoring into the development
process, incremental changes to the layout or internals efficiently
averts a total
rewrite or complete make-over. This is a fantastic book for anyone
who needs to rebuild, recode, or refactor the web.”
—Andre Gironda, tssci-security.com
“Elliotte’s book provides a rare collection of hints
and tricks that will vastly improve the quality of web pages.
Virtually any serious HTML
developer, new or tenured, in any size organization will reap
tremendous benefit from implementing even a handful of his
suggestions.”
—Matt Lavallee, Development Manager, MLS Property Information
Network, Inc.
Like any other software system, Web sites gradually accumulate
“cruft” over time. They slow down. Links break.
Security and compatibility problems mysteriously appear. New
features don’t integrate seamlessly. Things just don’t
work as well. In an ideal world, you’d rebuild from scratch.
But you can’t: there’s no time or money for that.
Fortunately, there’s a solution: You can refactor your Web
code using easy, proven techniques, tools, and recipes adapted from
the world of software development.
In Refactoring HTML, Elliotte Rusty Harold explains
how to use refactoring to improve virtually any Web site or
application. Writing for programmers and non-programmers alike,
Harold shows how to refactor for better reliability, performance,
usability, security, accessibility, compatibility, and even search
engine placement. Step by step, he shows how to migrate obsolete
code to today’s stable Web standards, including XHTML, CSS,
and REST—and eliminate chronic problems like
presentation-based markup, stateful applications, and “tag
soup.”
The book’s extensive catalog of detailed refactorings and
practical “recipes for success” are organized to help
you find specific solutions fast, and get maximum benefit for
minimum effort. Using this book, you can quickly improve site
performance now—and make your site far easier to enhance,
maintain, and scale for years to come.
Topics covered include
• Recognizing the “smells” of
Web code that should be refactored
• Transforming old HTML into well-formed,
valid XHTML, one step at a time
• Modernizing existing layouts with
CSS
• Updating old Web applications: replacing
POST with GET, replacing old contact forms, and refactoring
JavaScript
• Systematically refactoring content and
links
• Restructuring sites without changing the
URLs your users rely upon
This book will be an indispensable resource for Web designers,
developers, project managers, and anyone who maintains or updates
existing sites. It will be especially helpful to Web professionals
who learned HTML years ago, and want to refresh their knowledge
with today’s standards-compliant best practices.
This book will be an indispensable resource for Web designers,
developers, project managers, and anyone who maintains or updates
existing sites. It will be especially helpful to Web professionals
who learned HTML years ago, and want to refresh their knowledge
with today’s standards-compliant best practices.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 4 Ratings
Mainly for hardcore techies - 2008-05-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Despite years of progress by web standards advocates, and a significant improvement in the quality of the HTML on the web, many of us still end up grappling with outmoded, broken HTML on a regular basis. When confronted with a large site filled with broken pages it can be hard to know where to start. Elliotte Rusty Harold's Refactoring HTML offers a step by step recipe book for migrating such sites to clean, semantic code.
Harold's is a well known name in the XML world, and that background shows through in how he approaches the book. While a general audience will probably find useful content, the reader needs to be prepared for a series of command-line and Java-based examples. Tools like tidy are featured prominently, as is the use of regular expressions to seek out broken code to fix and, in the music-to-my-ears category, automated testing.
If you're equipped to do so, following these steps will lead to much cleaner, more manageable sites, but I found myself wondering how many of those comfortable with command line tools and regular expressions are in the market for a book like this.
In general I suspect the key audience for this will be IT departments inside large organisations tasked with refreshing or extending an intranet. For those developers, who maybe don't spend much of their time working with HTML and like the idea of using scripting tools similar to those in their regular workflow, this book's worth a look. If you're already familiar with current trends in web development, then there are probably other ways of picking up on the scattering of techniques that might be new to you.
Disclaimer: I was sent a copy of this book for review by the publisher.
use CSS and XHTML - 2008-05-12
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The Web means mostly webpages written in HTML. The popularity of HTML is overwhelming. Yet it has well known problems. There is no intrinsic separation of semantic content from presentation details. And the tag syntax is very sloppy.
Harold explains in clear and strong terms why you should clean up your webpages. Mostly by using CSS and by making [and checking] that the pages are well formed and valid under XHTML. This is not a text on CSS, and if you are going to follow the precepts of the book, you will need another book, dedicated to CSS. The strength of Harold's message is in the clarity. He is trying to influence you in a top-down manner. To make these strategic decisions.
For example, by going with CSS, you simplify maintenance. Because files are factored into CSS files, which layout people can work on, and semantic content files, which can be the purview of others who are more involved with intrinsic information processing. The latter files also have the advantage that they can be used with different types of display devices and programs, and not just for the typical web browser. Think of cellphones, or devices for the blind.
The last aspect is another salient point he makes. Writing pages that are also accessible to the blind is not just good for that reason. It lets you focus not on what the page looks like, but on what it means. Why is this good? Because it improves the chance that search engines will look at and positively classify your semantic files. Search engines often deprecate presentation instructions and CSS files. They are also looking for files with high semantic content.
Also, by factoring using CSS files, the resultant set of files gets to be smaller, which reduces outgoing bandwidth from your web server. For large popular sites, this can be a cost saving.
While the writing of well formed and [better yet] XHTML-valid pages increases the chances that different browsers can accurately show the pages. The reason is that browsers have been written to pragmatically show HTML, where the tag structure is sloppy. To do this, a browser has to make certain display assumptions with a badly written file. The problem is that different browsers make different assumptions. And so some HTML files will not display well, or at all.
There are also other smaller level tips scattered thru the book. Like suppose you have an image that shows essentially only text. Replace the image with text. Less bandwidth is consumed. Plus search engines don't really do much with images. [Image analysis is very intensive and hard.] So giving them more meaningful text instead of images helps your page ranking. As a side note, some spammers do precisely the opposite. They have images which are mostly to display text. To evade a search engine or antispam software that keys off suspicious text.
In related wise, your image tag should always have an alt attribute describing the image. Helps the blind visitor. But mostly it helps a search engine classify the image.
There is one unintended ironic aspect of the book's last page. It talks about hiding your email address in the webpage from screen scraper bots run by spammers harvesting email addresses. One way is to use JavaScript to generate the address. The script is run by the visitor's browser as it displays the page. This is to evade spammers. The irony is that a spammer can use this very method, when sending spam email. Many antispam programs now use a blacklist, since spam often has links to the spammer's domain. But the programs usually [always?] check against static links in an email. The spammer can write JavaScript that dynamically makes links, to evade this. Sure, browsers that have JavaScript turned off will not show these links. But in fact, most users turn JavaScript on, because many websites use it. And the spammer might figure that the loss of links due to no JavaScript is greatly outweighed by being able to evade the now almost axiomatic use of blacklists by antispam programs.
Another example of how technology can be used for completely different and opposite purposes!
A good review of xHTML standards for those already familiar with HTML - 2008-06-23
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
First the good:
It is an _excellent_ tutorial on modern xHTML for those that have used HTML from its tag-soup beginnings. He methodically gives examples on why we, as web programmers, need to utilize a particular technology (CSS, Accessibility, etc). For example, he doesn't just say "Use CSS" because its the new way of doing things. He gives no-nonsense specific examples in bandwidth savings, alternate devices, etc.
His writing style is easy to read for computer geeks: a signature trait of any Martin Fowler signature series book.
He also provides a series of regular expressions that you can use to search through your HTML code to find problem areas and does a good introduction to the program "tidy". Since I am definitely _NOT_ a Regex geek, these are highly appreciated.
And finally, he shows usage of some xHTML tags and attributes of which I was not aware: such as proper usage of and tags.
Onto the downsides:
Originally I purchased this book thinking that I would be able to use it to get some tools under my belt to better transform the lousy auto-generated HTML that most graphics tools export and update them to decent, modern xHTML. However, the author is definitely NOT a "graphics design guy." And because of that, I know that several of the solutions he provided in his CSS sections would NOT fly with the designers where I work.
If I had seen his website, I probably would have realized that he was an XML expert instead of a design expert and wouldn't have gotten my hopes up. So far, I've found that websites like "A list apart" are much better for working with CSS-based design.
So for those looking to refactor your HTML code from ancient "Tag Soup" to modern sleek xHTML, this is a great book. If you're looking for how to best refactor from table-designs to table-less while maintaining a similar Look and Feel that you've been given by your designers, I find this book highly lacking.
Offering a range of tips on how to modernize existing layouts or update old Web applications - 2008-11-10
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Elliotte Rusty Harold's REFACTORING HTML: IMPROVING THE DESIGN OF EXISTING WEB APPLICATIONS is also a pick for any library strong in web programming: it explains how to use refactoring to improve a web site or application and is written for all levels of programmers, offering a range of tips on how to modernize existing layouts, update old Web applications, and work with existing code and structure.
Top Level Categories:
Internet/Online
Sub-Categories:
Internet/Online > HTML
Internet/Online > Web Design
Some information on this page was provided using data from Amazon.com®. View at Amazon >