多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 参考文献 在以下网址可以找到这份参考文献的在线版本:https://martinfowler.com/books/refactoring-bibliography.html。本参考文献中很多条目都指向“bliki”——这是martinfowler.com网站的一个栏目,我在其中简要介绍了一些软件开发中用到的词汇。在撰写本书的过程中,我决定不把这些名词解释放在本书正文中,而是引导读者去bliki查看。 \[Ambler & Sadalage\] Scott W. Ambler and Pramod J. Sadalage. *Refactoring Databases*. Addison-Wesley, 2006. ISBN 0321293533. 1 \[Bazuzi\] Jay Bazuzi. “Safely Extract a Method in Any C++ Code.” \[Beck SBPP\] Kent Beck. *Smalltalk Best Practice Patterns*. Addison-Wesley, 1997. ISBN 013476904X. \[Feathers\] Michael Feathers. *Working Effectively with Legacy Code*. Prentice-Hall, 2004. ISBN 0131177052. 2 \[Fields et al.\] Jay Fields, Shane Harvie, and Martin Fowler. *Refactoring Ruby Edition*. Addison-Wesley, 2009. ISBN 0321603508.3 \[Ford et al.\] Neal Ford, Rebecca Parsons, and Patrick Kua. *Building Evolutionary Architectures*. O’Reilly, 2017. ISBN 1491986360. \[Forsgren et al.\] Nicole Forsgren, Jez Humble, and Gene Kim. *Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations*. IT Revolution Press, 2018. ISBN 1942788339. \[gof\] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. *Design Patterns: Elements of Reusable Object-Oriented Software*. Addison-Wesley, 1994. ISBN 0201633612.4 \[Harold\] Elliotte Rusty Harold. *Refactoring HTML*. Addison-Wesley, 2008. ISBN 0321503635.5 \[Kerievsky\] Joshua Kerievsky. *Refactoring to Patterns*. Addison-Wesley, 2004. ISBN 0321213351. 6 \[mf-2h\] Martin Fowler. “Bliki: TwoHardThings.” https://martinfowler.com/bliki/TwoHardThings.html. \[mf-bba\] Martin Fowler. “Bliki: BranchByAbstraction.” https://martinfowler.com/bliki/BranchByAbstraction.html. \[mf-cp\] Martin Fowler. “Collection Pipeline.” https://martinfowler.com/articles/collection-pipeline/. \[mf-cqs\] Martin Fowler. “Bliki: CommandQuerySeparation.” https://martinfowler.com/bliki/CommandQuerySeparation.html. \[mf-cw\] Martin Fowler. “Bliki: ClockWrapper.” https://martinfowler.com/bliki/ClockWrapper.html. \[mf-dsh\] Martin Fowler. “Bliki: DesignStaminaHypothesis.” https://martinfowler.com/bliki/DesignStaminaHypothesis.html. \[mf-evodb\] Pramod Sadalage and Martin Fowler. “Evolutionary Database Design.” https://martinfowler.com/articles/evodb.html. \[mf-fao\] Martin Fowler. “Bliki: FunctionAsObject.” https://martinfowler.com/bliki/FunctionAsObject.html. \[mf-ft\] Martin Fowler. “Form Template Method.” https://refactoring.com/catalog/formTemplateMethod.html. \[mf-lh\] Martin Fowler. “Bliki: ListAndHash.” https://martinfowler.com/bliki/ListAndHash.html. \[mf-nm\] Martin Fowler. “The New Methodology.” https://martinfowler.com/articles/newMethodology.html. \[mf-ogs\] Martin Fowler. “Bliki: OverloadedGetterSetter.” https://martinfowler.com/bliki/OverloadedGetterSetter.html. \[mf-pc\] Danilo Sato. “Bliki: ParallelChange.” https://martinfowler.com/bliki/ParallelChange.html. \[mf-range\] Martin Fowler. “Range.” https://martinfowler.com/eaaDev/Range.html. \[mf-ref-doc\] Martin Fowler. “Refactoring Code to Load a Document.” https://martinfowler.com/articles/refactoring-document-load.html. \[mf-ref-pipe\] Martin Fowler. “Refactoring with Loops and Collection Pipelines.” https://martinfowler.com/articles/refactoring-pipelines.html. \[mf-repos\] Martin Fowler. “Repository.” https://martinfowler.com/eaaCatalog/repository.html. \[mf-stc\] Martin Fowler. “Bliki: SelfTestingCode.” https://martinfowler.com/bliki/SelfTestingCode.html. \[mf-tc\] Martin Fowler. “Bliki: TestCoverage.” https://martinfowler.com/bliki/TestCoverage.html. \[mf-tdd\] Martin Fowler. “Bliki: TestDrivenDevelopment.” https://martinfowler.com/bliki/TestDrivenDevelopment.html. \[mf-tih\] Martin Fowler. “Bliki: TypeInstanceHomonym.” https://martinfowler.com/bliki/TypeInstanceHomonym.html. \[mf-ua\] Martin Fowler. “Bliki: UniformAccessPrinciple.” https://martinfowler.com/bliki/UniformAccessPrinciple.html. \[mf-vo\] Martin Fowler. “Bliki: ValueObject.” https://martinfowler.com/bliki/ValueObject.html. \[mf-xp\] Martin Fowler. “Bliki: ExtremeProgramming.” https://martinfowler.com/bliki/ExtremeProgramming.html. \[mf-xunit\] Martin Fowler. “Bliki: Xunit.” https://martinfowler.com/bliki/Xunit.html. \[mf-yagni\] Martin Fowler. “Bliki: Yagni.” https://martinfowler.com/bliki/Yagni.html. \[Opdyke\] William F. Opdyke. “Refactoring Object-Oriented Frameworks.” Doctoral Dissertation. University of Illinois at Urbana-Champaign, 1992. \[Parnas\] D.L. Parnas. “On the Criteria to Be Used in Decomposing Systems into Modules.” In: *Communications of the ACM, Volume 15 Issue 12, pp. 1053–1058*. Dec. 1972. \[ref.com\] https://refactoring.com. \[Wake\] William C. Wake. *Refactoring Workbook*. Addison-Wesley, 2003. ISBN 0321109295. \[wake-swap\] Bill Wake.“The swap Statement Refactoring.” 1中译本:王海鹏等译,《数据库重构》,机械工业出版社,2007年,ISBN 9787111202097。——译者注 2中译本:刘未鹏译,《修改代码的艺术》,人民邮电出版社,2007年,ISBN 9787115163622。——译者注 3中译本:徐旭铭译,《重构(Ruby版)》,机械工业出版社,2010年,ISBN 9787111300786。——译者注 4中译本:李英军等译,《设计模式》,机械工业出版社,2007年,ISBN 9787111211266。——译者注 5中译本:陈贤安等译,《重构HTML》,人民邮电出版社,2012年,ISBN 9787115294074。——译者注 6中译本:杨光、刘基诚译,《重构与模式》,人民邮电出版社,2013年,ISBN 9787115297259。——译者注