第1章 重构
1.1 为何重构
1.1.1 坏味道:难以辨认的代码
1.1.2 坏味道:CE0根本搞不定他的旅行费用报销单
1.1.3 坏味道:缓慢的页面呈现速度
1.1.4 坏味道:不同的浏览器,不同的呈现
1.1.5 坏味道:网页需要危险或者非标准技术的支持
1.1.6 坏味道:公司主页突然显示“Pwned by Elite Doodz”
1.1.7 坏味道:在Google搜索结果中首次排在17页之后
1.1.8 坏味道:访问者致信投诉网站失灵
1.2 何时重构
1.3 重构什么
1.3.1 为何要用XHTML
1.3.2 为何要用CSS
1.3.3 为何要用REST
1.4 反对重构的理由
第2章 工具
2.1 备份、测试用机和源码控制
2.2 验证器
2.2.1 W3C标记验证服务
2.2.2 日志验证程序
2.2.3 xmllint
2.2.4 编辑器
2.3 测试
2.3.1 JUnit
2.3.2 HtmlUnit
2.3.3 HttpUnit
2.3.4 JWebUIlit
2.3.5 FitNesse
2.3.6Selenium
2.3.7 测试入门
2.4 正则表达式
2.4.1 搜索
2.4.2 搜索模式
2.5 Tidy
2.5.1 -asxhtml
2.5.2 -clean
2.5.3 编码
2.5.4 整洁的格式
2.5.5 生成的代码
2.5.6 当做库来用
2.6 TagSoup
2.7 XSLT
第3章 良构
3.1 什么是良构
3.2 将名称改为小写
3.2.1 动机
3.2.2 风险
3.2.3 做法
3.3 给属性值加引号
3.3.1 动机
3.3.2 风险
3.3.3 做法
3.4 补足遗漏的属性值
……
第4章 有效性
第5章 布局
第6章 可访问性
第7章 Web应用程序
第8章 内容
附录A 正则表达式