过年(2015)读书笔记
2015-02-24 14:31
239 查看
2015年春节,住在家里新盖的房子里,因为种种原因还没通电,更别说网络了,所以我没事的时候就看看《驯服烂代码》(过年回家只为和家人呆一起,所以也很少出去...)。在懵懵懂懂中就看完了,虽然不能说有什么大彻大悟的,但看书总归是好的,所以呢,就做个笔记吧。也以此谨记2015年春节:平淡而真实。
《驯服烂代码》:首先以一个例子开题---作为一个时钟管理员,我想通过设置特定手机上的时间,实现同步更新酒店里显示的不同地区(时区)的时间。抛出烂代码问题(程序bug,代码“腐臭”),再问题进行处理后又抛出一个大问题----"测试先行还是测试后行",当然它也是点了一下TDD(测试驱动开放的优点)。随后说明了何为烂代码,如何处理烂代码(有些简单可以直接修正,有些则是用“TODO”加以指明,待后续优化),根据用户意图编写测试用例,固化软件行为的同时按部就班的处理“TODO”。通过分而治之的思想将烂代码重构(重写代码或者根据原有代码加以重构)。通过分而测之的思想(接口提取或者子类化方法覆写)使得程序更加符合面向对象设计五大原则(SOLDI)。最后提到了单元测试、个人习惯的养成(理论哲学吧)以及一些环境的搭建。当然书中也列举了不少例子循序渐进引入正题的,还有每个章节最后的归纳总结也是十分的经典。
书中给我印象深刻的是:
一、整理并编号需求列表---绘制出用例类图----用例图。
二、用一句话描述用户正题需求:“作为<角色>,我想通过<条件>,实现<目的>”。这个还是比较经典的。
三、通过“TODO”占位的方式描述代码实现意图
四、分而治之的思想,对代码进行重构,通过设计的原则实现接口的提取、隔离,功能的划分、归纳到具体的类。(核心)
五、TDD思想,测试驱动开发,很少接触过,因为我涉及到的开发都是测试后行的。没有说以最小的测试实现进行深入的。不过这个貌似还是蛮好玩的。
六、接口的提取、第三方类库的封装的意义。
七、细节。书中提到代码管理工具提交前Commit Message的编写,一些快捷方式的使用这些细节的东西,是值得学习的。
《驯服烂代码》是一本不错的书,我并未能够理解其中的奥妙,只是略知皮毛而已,例如对其核心部分只用了一句话(第四点)点名,显然是不够的。如若有理解不对的地方,还请高手指明。
Thanks!2015-02-24
《驯服烂代码》:首先以一个例子开题---作为一个时钟管理员,我想通过设置特定手机上的时间,实现同步更新酒店里显示的不同地区(时区)的时间。抛出烂代码问题(程序bug,代码“腐臭”),再问题进行处理后又抛出一个大问题----"测试先行还是测试后行",当然它也是点了一下TDD(测试驱动开放的优点)。随后说明了何为烂代码,如何处理烂代码(有些简单可以直接修正,有些则是用“TODO”加以指明,待后续优化),根据用户意图编写测试用例,固化软件行为的同时按部就班的处理“TODO”。通过分而治之的思想将烂代码重构(重写代码或者根据原有代码加以重构)。通过分而测之的思想(接口提取或者子类化方法覆写)使得程序更加符合面向对象设计五大原则(SOLDI)。最后提到了单元测试、个人习惯的养成(理论哲学吧)以及一些环境的搭建。当然书中也列举了不少例子循序渐进引入正题的,还有每个章节最后的归纳总结也是十分的经典。
书中给我印象深刻的是:
一、整理并编号需求列表---绘制出用例类图----用例图。
二、用一句话描述用户正题需求:“作为<角色>,我想通过<条件>,实现<目的>”。这个还是比较经典的。
三、通过“TODO”占位的方式描述代码实现意图
四、分而治之的思想,对代码进行重构,通过设计的原则实现接口的提取、隔离,功能的划分、归纳到具体的类。(核心)
五、TDD思想,测试驱动开发,很少接触过,因为我涉及到的开发都是测试后行的。没有说以最小的测试实现进行深入的。不过这个貌似还是蛮好玩的。
六、接口的提取、第三方类库的封装的意义。
七、细节。书中提到代码管理工具提交前Commit Message的编写,一些快捷方式的使用这些细节的东西,是值得学习的。
《驯服烂代码》是一本不错的书,我并未能够理解其中的奥妙,只是略知皮毛而已,例如对其核心部分只用了一句话(第四点)点名,显然是不够的。如若有理解不对的地方,还请高手指明。
Thanks!2015-02-24
相关文章推荐
- 2015过年之前计划
- CSS Master, Sitepoint 2015读书笔记(印象比较深的几点:CSS优先级3元组表示法,多列及flex,Transforms)
- 2015 数学建模竞赛 入门与提高 读书笔记
- Hadoop应用架构-OReilly 2015-读书笔记
- React.js Essentials - Packt 2015(读书笔记)
- Elixir in Action-Manning 2015(读书笔记)
- 2015过年安排
- 2015 读书笔记--告诉我你怎样去生活
- 2015第19周五《象与骑象人》《瞬变》读书笔记
- 读书笔记 Linux设备驱动程序(一) 0.02
- 《深度探索C++对象模型》读书笔记(2)。
- 《unix环境高级编程》-11.线程-读书笔记
- 《读书笔记》设计模式——工厂方法模式
- Visual Studio 2015 和 Apache Cordova
- HUST-2015 Multi-University Training Contest 9
- 《我编程,我快乐(1~2章)》读书笔记
- 硬盘和显卡的访问与控制(一)——《x86汇编语言:从实模式到保护模式》读书笔记01
- 【LSGDOJ 2015】数页码
- 设计模式读书笔记-----桥接模式
- 《C++捷径教程》读书笔记--Chapter 16--模板(完结)