标签:
忘了发出来,现在补上
时间: 2016/5/6 星期五
今天阅读了本书的后半部分,有两点不同: 1. 层次,前半部分是琐碎的细节,后半部分则基于前半部分但却站在更高的角度来讲怎样写代码。 2. 后半部分还对前半部分进行了归纳总结,以实例的方式一点点地告诉你之前讲的那些规则是如何使用的。 九、单元测试 1. TDD定律 在编写不能通过的单元测试前,不可编写生产代码 只可编写刚好无法通过的单元测试,不能编译也算不通过 只可编写刚好足以通过当前失败测试的生产代码 ----- 这三条写的有点绕,我的理解就是:要把测试代码当生产代码来写,测试也很重要 2.五大规则(F.I.R.S.T) 快速:就是代码质量要好,高效 独立:不同测试之间应相互独立 可重复:就是在各种环境中都可测试通过 自足验证:测试不依赖手工操作来知晓是否通过 及时:测试应在生产代码之前进行编写 十、类 主要注意一个点,类应短小,可通过以下两种方式达到此目的: 1. 权责单一:一个类的权责不应太多,太多则需考虑拆成多个类了 2. 高内聚:类的实体变量应尽可能少,类中方法尽可能多地使用到这些变量 十一、系统 1.系统构造与使用分开 工厂:使用工厂方法自行决定何时创建实例,但是构造细节却在其他地方 依赖注入:当A对B有依赖时,A中不负责B的实例化(这就是类的权责单一原则) 2.本章的后半部分提到的AOP,AspectJ等内容都以Spring,EJB等框架为例,稀里糊涂 的,还不清楚作者要表达什么,暂时没有体会。 十二、跌进 跌进这一章提到的点不多 1.运行所有的测试:为能方便测试,我们的生产代码也要足够短小,耦合度低 2.重构:在写代码过程中要及时重构,保持代码的优雅 3.不可重复:已有的代码要利用起来,消除重复 4.表达力强:这应该是一个目标或是结果,做好前边的工作自然而然可以达到 十三、并发编程 1.为什么:它可以将“目的”和“时机”分离,进行解耦 2.并发防御原则 单一权责:主要关注一点,并发相关的代码应分离出来 为此,三点建议: 1).限制数据作用域 2).使用数据副本:这不就是ThreadLocsal么~~ 3).线程应尽可能地独立 3.学习已有类库:Java中的并发包之类 okay,基本东西就是这些了,后边的章节就是一些实例代码。
【转载请注明出处】
GitHub地址: https://github.com/MummyDing
标签:
原文地址:http://blog.csdn.net/mummyding/article/details/51365846