《big ball of mud》感想

大泥球是指一个随意化的杂乱的结构化系统,只是代码的堆砌和拼凑,往往会导致很多错误或者缺陷。这使得系统内的信息无法得到更好的控制和共享,使得信息失去了应有的价值。大泥球复杂和杂乱无章。最终会使得这个系统的代码不被程序员理解,更无法对其修复,无法满足用户的需求变化。
产生:
  首先,程序员在编写程序或是系统时遇到问题后的解决方法,往往不是合适的或者最优的解法,而是方便修改的,变动最小的,这就为以后的系统架构的混乱甚至整个系统的奔溃埋下了隐患。其次,用户的需求或者编程的要求是在不断地变化的,任何一个已有的系统都随之会产生重大的变化,使得系统越来越复杂化,维护也越来越昂贵,另外编写人员的变动等等因素都会导致系统的退化,一步步变为大泥球。

 原因归结为:一次性代码,碎片式增长,缺少前期设计,应对需求和架构变化过晚,程序员的经验,技巧,眼界的限制。

感想:在写程序时不能十分随意,尽管是在原有的功能上增删很小的一个部分,也不能随意的操作,不能为了达到需要的效果把其他地方改得面目全非,仅为了优化这一小部分。每次动作都应该深思熟虑。曾经的一次编程作业,就是因为当时完全没有做软件的经验,自己一上来就瞎写,没有进行什么设计,到了程序快要写完的时候,自己已经不知道以前写的是什么了,想修改之前做的功能已经完全做不到了,最后,软件的效果自己都不满意,仅功能上实现了要求,在可拓展性,和用户体验上效果极差。这就是一个越滚越大的泥球,当然,那时我还不了解重构,否则我一定会将之前的工作都重构一次。

原文链接:http://www.laputan.org/mud/

posted @ 2012-11-14 00:06  炫律  阅读(348)  评论(0编辑  收藏  举报