译者序
序
前言
第1章 简介
为什么要写一本关于程序员生产力的书?
本书包含哪些内容?
如何读此书?
第一部分 机制
第2章 加速
启动面板
加速器
宏
小结
第3章 专注
排除干扰
搜索优于导航
找出难找的目标
使用有根视图
设好“粘性属性”
使用基于项目的快捷方式
使用多显示器
用虚拟桌面拆分工作空间
小结
第4章 自动化
不要重新发明轮子
建立本地缓存
自动访问网站
与RSS源交互
在构建之外使用Ant
用Rake执行常见任务
用Selenium浏览网页
用bash统计异常数
用Windows Power Shell替代批处理文件
用Mac OS X的Automator来删除过时的下载文件
驯服Subversion命令行
用Ruby编写SQL拆分工具
我应该把它自动化吗?
别给牦牛剪毛
小结
第5章 规范性
DRY 版本控制
使用标准的构建服务器
间接机制
利用虚拟平台
DRY 阻抗失配
DRY 文档
小结
第二部分 实践
第6章 测试驱动设计
不断演化的测试
代码覆盖率
第7章 静态分析
字节码分析
源码分析
用 Panopticode生成统计数据
动态语言的分析
第8章 当个好公民
破坏封装
构造函数
静态方法
犯罪行为
第9章 YAGNI
第10章 古代哲人
亚里斯多德的“事物的本质和附属性质”理论
奥卡姆剃刀原理
笛米特法则
“古老的”软件学说
第11章 质疑权威
愤怒的猴子
连贯接口
反目标(Anti-Objects)
第12章 元编程
Java和反射
用Groovy测试Java
编写连贯接口
元编程的归处
第13章 组合方法和SLAP
组合方法实践
SLAP
第14章 多语言编程
历史与现状
路在何方?
Ola的金字塔
第15章 寻找完美工具
寻找完美编辑器
编辑器参考列表
为你的工作选择正确的工具
丢弃错误的工具
第16章 尾声:继续对话
附录 Building Blocks