软件中的意大利面式的设计(Spaghetti Design)

来源:互联网 发布:光环新网 云计算牌照 编辑:程序博客网 时间:2024/05/01 14:30

意大利面式的设计,很形象的一个词,大家都吃过面条,知道面条之间互相缠绕在一起,想知道它们的关系非常困难。意大利面式的设计很形象的说明了软件开发中的这种现象。系统很难维护,各种逻辑缠绕在一起,没有清晰的模块和层次关系,各个功能交织在一起。


这就导致了几个问题:

1 可扩展性问题,想增加新功能非常困难。

2 可维护性问题,出了bug很难发现问题或者修改后影响的地方特别多,每一次修改都需要做full regression test。


那么怎么避免呢?

1 写代码志之前先design,模块化和层次化你的代码。

2 引入code review机制,每一份需要提交的代码都需要进行code review。

3 引入unit tests,每一项功能都需要UT。因为对Spaghetti code进行单元测试很难,如果发现UT非常难写,那十有八九是代码设计的有问题了。

原文:http://blog.csdn.net/hongchangfirst/article/details/52129530

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst



0 0
原创粉丝点击