现在的位置: 首页 > 综合 > 正文

腐烂中设计的特征–Principles and Patterns读书笔记一

2012年05月08日 ⁄ 综合 ⁄ 共 488字 ⁄ 字号 评论关闭

原作者 Robert C Martin

1 Rigidity.刚性,

 软件越来越难于修改的趋势。即使一个小的改动也会因为依赖关系而引发一系列其它模块的修改。因为越来越难以修改,最后老板就下令不得修改。刚性由技术上升为政治

2 Fragility 脆弱性

每次修改都引发软件多处崩溃的趋势。崩溃经常发生在和修改处没有概念上联系的位置。

3 Immobility 固定性

 软件不能被其它项目或者本项目中其它部分重用。某个工程师发现某个项目中一个模块和他想要的功能类似,但当他想重用这个模块时却被其依赖的一大堆其它模块吓退了。

4 viscosity 粘性

粘性来自两方面:设计和环境。当需要修改时,工程师经常会有不止一种方法做出改动。一些方法能保留原有的设计,另一些则破坏设计。如果保留设计的方法比hack的方法要困难,设计的粘性就很高。做错事很容易,但做对事很难。

环境的粘性来自于开发环境的缓慢和低效。举例来说,如果编译时间很长,开发者就倾向于不需要大规模重编译的修改,如果check in一些文件需要几小时的时间,开发者就倾向于减少check-in的文件数目的修改,尽管这类修改有时从设计的角度讲并不是良好的。

抱歉!评论已关闭.