软件中的意大利面式的设计(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
- 软件中的意大利面式的设计(Spaghetti Design)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 05:原型模式(Prototype)和Java中的深、浅拷贝
- Design Patterns(设计模式 可复用面向对象软件的基础)
- Home Finance Actives' Design 家庭理财软件的设计
- 伟大的意大利的左后卫
- 伟大的意大利的左后卫
- 丑陋的意大利功利足球
- 没有意大利炮的团长
- 设计模式(Design Patterns) ——可复用面向对象软件的基础
- 设计模式(Design Patterns)——可复用面向对象软件的基础
- 设计模式(Design Patterns)-可复用面向对象软件的基础 01:简介(Abstract)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 03:单例模式(Singleton)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 04:建造者模式(Builder)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 06:适配器模式(Adapter)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 07:装饰模式(Decorator)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 08:外观模式(Facade)
- 设计模式(Design Patterns)-可复用面向对象软件的基础 06:适配器模式(Adapter)
- Spaghetti Squash
- 'NoneType' object is not iterable
- Python 正则表达式(3)匹配手机号
- UI高级---->多线程总结
- 用protobuf进行C#与Java通信
- UIImageView 的contentMode属性
- 软件中的意大利面式的设计(Spaghetti Design)
- HDU - 3065 - 病毒侵袭持续中(AC自动机)
- 空格串替换为最少数量的制表符和空格
- HTML页面乱码及解决方式
- Java程序设计基础
- pwd 获取用户信息, grp 获取组的信息
- Spring+Quartz实现定时任务的配置方法
- Hive入门培训
- UVA 120 - Stacks of Flapjacks(构造)