摘要: 系统重构到这一步,我们来看看用户关于时间问候语部分的变更需求:问候需要更加精细,如中午问候“Good noon! ”、傍晚问候“Good evening! ”、午夜问候“Good midnight! ”。除此之外,用户希望在一些特殊的节日,如新年问候“Happy new year! ”、情人节问候“Happy valentine’s day! ”、三八妇女节问候“Happy women’s day! ”,等等。此时我们发现,我们对时间问候语的变更不再需要修改HelloWorld或其它什么类,而是仅仅专注于修改GreetingAboutTime就可以了,这就是因重构带来的改善。 同时,我们发现,过去只需getHour()就足够,而现在却需要getMonth()与getDay()。随着程序复杂度的提升,我们适时进行了一次重构,将与时间相关的程序抽取到一个新类DateUtil中,就可以顺利地改写原有的时间问候语程序... 阅读全文
posted @ 2014-01-04 23:23 充满诗意的联盟 阅读(1259) 评论(5) 推荐(0) 编辑
摘要: 软件的发展规律就是这样的,起初十分简单明了,使我们可以轻松地进行合理的设计。接着开始变更,业务变得越来越复杂,程序也随之变得越来越复杂了。正是因为软件开始由简单软件向复杂软件转变,而我们的设计却没有合理地调整,最后导致了我们的系统越维护越困难,成为了不可被扣的遗留系统——IT攻城狮永远的痛。这就是遗留系统产生的根本原因。 因此,解决遗留系统的根本办法,就是在软件由简单软件向复杂软件转变的关键时刻,适时做出调整,使软件重新回到高质量的状态。这里,我们要做出的调整被称为重构,而做出这种调整的最佳方式,就是“小步快跑”啦。说得那么玄乎,到底什么是“小步快跑”呢?说不尽千言万语,倒不如一个简单的示例... 阅读全文
posted @ 2014-01-04 23:15 充满诗意的联盟 阅读(960) 评论(4) 推荐(0) 编辑
摘要: 以往我们在设计一个系统时,总是喜欢大布局。全面地整理系统需求,全面地分析系统功能,再将系统整体地划分成数个模块,分别去设计、开发、测试。这样一个过程往往会持续数月,花费大量的工作量。但是,不到最后开发完成出来,谁都不知道会不会存在问题。最终的结局就成了一场赌博,不成功则失败,这就是“大布局”的弊病。 同时,任何人,即使是那些资深的高级工程师,也不可能一开始就保证自己的设计是正确的,总有或这或那考虑不周的地方... 阅读全文
posted @ 2014-01-02 09:49 充满诗意的联盟 阅读(918) 评论(2) 推荐(3) 编辑
摘要: 如题,系统重构是一个什么玩意儿呢?大家可能有很多的不同看法: 1.系统重构是那些系统架构师、技术大牛玩的高端玩意儿,跟咱普通屌丝不懂,跟咱没啥关系。 2.系统重构就是改代码,大改特改那种,整个重来一遍,这个比较邪恶,比较容易改出事儿,还是不要轻易尝试。 3.我知道系统重构,也知道它能改善遗留系统,但我还是不敢轻易尝试,因为改出问题来怎么办,还是算了吧。 然而我认为,现在我们对系统重构有太多的误解,以至于我们还不怎么了解它,就已经将它拒之门外。 重构不是一个阳春白雪的高级玩意儿,它是一种习惯,这种习惯让我们迅速由菜鸟转变为大牛,可以编写出高质量、优秀的程序。 阅读全文
posted @ 2013-12-11 13:18 充满诗意的联盟 阅读(1454) 评论(0) 推荐(1) 编辑
摘要: 软件变糟的罪恶之源不是需求变更,而是在软件由简单软件变为复杂软件的过程中,我们没有通过系统重构,及时调整程序的结构,以适应复杂软件的需求。正因为如此,我们的遗留系统将变得越来越难懂,越来越难于维护,任何一项变更都成本巨大。所以,系统重构才是遗留系统的解,时代之痛的解,软件之殇的解。关键是,系统重构是个什么玩意儿,你也许熟悉,但更可能陌生;你也许明白,但更多的是不懂。 阅读全文
posted @ 2013-12-08 10:44 充满诗意的联盟 阅读(634) 评论(1) 推荐(0) 编辑
摘要: 我常常觉得我们非常幸运,我们进入了软件工业时代。在这个时代里,我们进行软件开发已经不再是一个一个的小作坊,我们在进行着集团化的大规模开发。我们开发的软件不再是为某个车间、某个工序设计的辅助工具,它从某个单位走向整个集团,走向整个行业,甚至整个社会,发挥着越来越重要的作为。一套软件所起到的作用与影响有多大,已经远远超越了所有人的想象,成为一个地区、一个社会,乃至整个国家不可或缺的组成部分。慢慢地,人们已经难以想象没有某某软件或系统的生活和工作会是怎样。这就是软件工业时代的重要时代特征。然而,处于这个时代中心的IT攻城狮们则承受着别人无法想像的痛苦...... 阅读全文
posted @ 2013-12-05 06:32 充满诗意的联盟 阅读(933) 评论(1) 推荐(1) 编辑
点击右上角即可分享
微信分享提示