软件模块的职责与设计的臭味

每一个软件模块都应具有三个职责:
1.第一职责是它运行起来所完成的功能.这也是该模块得以存在的原因.
2.第二职责是它要应对变化,几乎所有的模块在它们的生命周期中变化,开发者有责任保证这种改变应该可能的简单.一个难以改变的模块是拙劣的,即使可以工作,也需要对其进行修正.
3.第三职责是要和阅读它的人进行沟通,对该模块不熟悉的开发人员应该能够比较容易的阅读并理解它.一个无法沟通的模块也是拙劣的,同样要进行修改.
当软件出现下面任何一种气味时,说明软件正在腐化
1.僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其他改动.
2.脆弱性:对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题.
3.牢固性:很难解开系统的纠结,使之成为一些可在其他系统中重用的组件.
4.粘滞性:做正确的事情比做错误的事情更困难.
5.不必要的复杂性:设计中包含有不具有任何直接好处的基础结构.
6.不必要的重复:设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统一.
7.晦涩性:很难阅读和理解,没有很好的表现出意图.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值