本书分为三大部分。第1部分所关注的是出现在类之中的坏味道(smell,即问题)。第2部分强调出现在类之间的坏味道。第3部分则提供了一些大规模的程序,可以用于实践不同领域的重构。贯穿于这些部分中,不时会出现一些简要说明,我称...[继续阅读]
海量资源,尽在掌握
本书分为三大部分。第1部分所关注的是出现在类之中的坏味道(smell,即问题)。第2部分强调出现在类之间的坏味道。第3部分则提供了一些大规模的程序,可以用于实践不同领域的重构。贯穿于这些部分中,不时会出现一些简要说明,我称...[继续阅读]
在第2章中,我们将简要地介绍重构周期(refactoringcycle)。第3章所讨论的是可加以量度的坏味道,即能够由简单的长度(length)来度量。在第4章中,我们将了解到名字对于代码的简单性和理解性有着怎样的作用。第5章将考虑不必要代码的有...[继续阅读]
类中的数据有时所表示的是“丢失”的对象,即相应对象已经无从引用;第8章将会考虑这个问题。第9章将讨论如何对超类和子类的责任加以权衡,而第10章将进一步考虑这个问题,即研究如何让类和其他类分担责任以期平衡。当确定如何...[继续阅读]
本书最后一部分提供了一些有待重构的程序。第13章是一个简单的选课系统,其中使用了一个数据库。将代码和数据库一同重构是一个正在兴起的研究领域;在该程序的代码中,可以看到存在大量的重复问题需要加以修正。第14章将介绍...[继续阅读]
要完成这些练习,有一条捷径:即阅读问题,再直接查看答案,因为答案看上去可行,所以点头称是,如此而已。但这会使你被我的想法所左右。相应地,还有一种稍显艰难的做法,却是一种更好的完成练习的方式:即阅读问题,再解决问题,在此...[继续阅读]
重构是安全地改善既有代码设计的一门艺术。对此,有如下含义:●重构并不包括对系统的所有修改。如果修改是对设计的改善,或是增加新的功能,则均不能被认为是重构。在创建新代码的过程中,尽管重构可以作为其中的一个环节,但...[继续阅读]
坏味道(smell),特别是代码坏味道(codesmell),是一些指出代码中潜在问题的警示信号。并非所有坏味道所指示的都确实是问题,但是对于大多数坏味道,均很有必要加以查看,并做出相应决定。有些人不喜欢用“坏味道”一词,而更倾向于把...[继续阅读]
重构有以下基本模式:重构周期(RefactoringCycle)从一个正在工作的程序开始。若存在坏味道,则:●挑出最坏的味道。●选择一种可以解决该坏味道的重构。●应用此重构。重构周期的每一次循环中,我们都力图选择适当的重构以改善代码...[继续阅读]
一种方法是寻求最简单的设计。KentBeck确定了简单设计的4条规则;如果代码违背了这些规则(这些规则存在不同的优先级),就需要对相应的问题加以解决。简单设计1.可以运行(通过)所有测试。2.不存在重复的逻辑。要特别注意诸如并行...[继续阅读]