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

原作者 Robert C Martin

1 Rigidity.刚性,

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

2 Fragility 脆弱性

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

3 Immobility 固定性

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

4 viscosity 粘性

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

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

转载于:https://www.cnblogs.com/MichaelPeng/archive/2009/11/11/1601320.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值