代码整洁之道-Clean Code
序
代码猴子与童子军军规
前言
目录
第一章-整洁代码
要有代码
糟糕的代码
混乱的代价
思想流派
我们是作者
童子军军规
前传与原则
小结
第二章-有意义的命名
介绍
名副其实
避免误导
做有意义的区分
使用读得出来的名称
使用可搜索的名称
避免使用编码
避免思维映射
类名
方法名
别扮可爱
每个概念对应一个词
别用双关语
使用解决方案领域名称
使用源自所涉问题领域的名称
添加有意义的语境
不要添加没用的语境
最后的话
第三章-函数
短小
只做一件事
每个函数一个抽象层级
switch语句
使用描述性的名称
函数参数
无副作用
分隔指令与询问
使用异常代替返回错误码
别重复自己
结构化编程
如何写出这样的函数
小结
第四章-注释
注释不能美化糟糕的代码
用代码来阐述
好注释
坏注释
第五章-格式
格式的目的
垂直格式
横向格式
团队规则
鲍勃大叔的格式规则
第六章-对象和数据结构
数据抽象
数据、对象的反对称性
得墨忒耳律
数据传送对象
小结
第七章-错误处理
使用异常而非返回码
先写Try-Catch-Finally语句
使用不可控异常
给出异常发生的环境说明
依调用者需要定义异常类
定义常规流程
别返回null值
别传递null值
小结
第八章-边界
使用第三方代码
浏览和学习边界
学习性测试的好处不只是免费
使用尚不存在的代码
整洁的边界
第九章-单元测试
TDD三定律
保持测试整洁
整洁的测试
每个测试一个断言
F.I.R.S.T.
小结
第十章-类
类的组织
类应该短小
为了修改而组织
第十一章-系统
如何建造一个城市
将系统的构造与使用分开
扩容
Java代理
纯Java AOP框架
AspectJ的方面
测试驱动系统架构
优化决策
明智使用添加了可论证价值的标准
系统需要领域特定语言
小结
第十二章-迭进
通过迭进设计达到整洁目的
简单设计规则1:运行所有测试
简单设计规则2~4:重构
不可重复
表达力
尽可能少的类和方法
小结
第十三章-并发编程
为什么要并发
挑战
并发防御原则
了解Java库
了解执行模型
警惕同步方法之间的依赖
保持同步区域微小
很难编写正确的关闭代码
测试线程代码
小结
第十四章-逐步改进
Args的实现
Args:草稿
所以我暂停了
渐进
字符串参数
小结
第十五章-JUnit内幕
JUnit框架
小结
第十六章-重构
首先,让它能工作
让它做对
小结
第十七章-味道与启发
注释
环境
函数
一般性问题
Java
测试
小结
附录A-并发编程II
客户端/服务器的例子
执行的可能路径
了解类库
方法之间的依赖可能破坏并发代码
提升吞吐量
死锁
测试多线程代码
测试线程代码的工具支持
小结
教程:完整的代码范例
附录B-org.jfree.date.SerialDate