敏捷设计-腐化软件的气味

敏捷设计是一个过程,而不是一个事件。它是一个持续的应用原则、模式以及实践改进软件结构和可读性的过程。

腐化软件的气味

当软件出现下面现象,表明软件正在腐化。

  • 僵化性
  • 脆弱性
  • 顽固性
  • 粘滞性
  • 不必要的复杂性
  • 不必要的重复
  • 晦涩性

僵化性

给了一个看起来简单的改动的合理估算,实际改动时发现改动带来的很多影响并没有预测到,需要修改的模块数目远远超过最初的预测,所话费的时间比初始估算的长。

脆弱性

进行一个改动时,可能会导致程序的许多地方出现问题。出现新问题的地方与改动的地方并没有概念上的关联。要修正这些问题又会引起更多的问题。

顽固性

设计中包含了对其他系统有用的部分,要把这部分从系统分离出来所需要的努力和风险是巨大的。

粘滞性

粘滞性有两种表现形式。

软件的粘滞性一些方法会保持设计;另外一些会破坏设计(拼凑的方法),当可以保持系统设计的方法比拼凑手法更难应用时,表明设计具有高粘滞性;

环境的粘滞性,开发华宁迟钝,低效时,会产生环境的粘滞性。比如编译时间很长,开发被引诱做不会导致大规模编译的改动,破坏原设计。

不必要的复杂性

设计中包含了当前没有用的组成部分,它就含有不必要的复杂性。这些么有用的组成部分往往来自于开发预测需求的变化,在软件中设置的应变代码。

不必要的重复

复制和粘贴的代码。当在一个重复代码体重发现了错误,就必须在每个重复体中一一修改,但是每个重复体之间都会有细微的差别,修正方式也不尽相同。

晦涩性

模块难以理解,开发人员必须站在代码阅读者的角度,努力的对代码进行重构。

总结

敏捷开发人员致力于保持设计尽可能的适当、干净。不是每几周才"清洁"他们的设计,而是每天,每小时甚至每分钟都要保持软件尽可能的干净、简单并富有表达力。下面会介绍一些原则,敏捷开发人员不会把这些原则应用到一个庞大的预先设计中。相反,这些原则被应用在一次次的迭代中。没有任何征兆的情况下,应用这些原则是不明智的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值