【发布时间】:2009-05-04 00:07:10
【问题描述】:
重构是在不改变其行为的情况下改进现有系统设计的过程。
除了 Martin Fowler 的开创性著作“Refactoring - Improving the design of existing code”和 Joshua Kerievsky 的著作“Refactoring to Patterns”之外,还有什么好的重构资源吗?
【问题讨论】:
标签: refactoring
重构是在不改变其行为的情况下改进现有系统设计的过程。
除了 Martin Fowler 的开创性著作“Refactoring - Improving the design of existing code”和 Joshua Kerievsky 的著作“Refactoring to Patterns”之外,还有什么好的重构资源吗?
【问题讨论】:
标签: refactoring
http://www.refactoring.com/ 可能会对您有所帮助。他们在这里有一长串方法:
Joel 的文章 Rub a dub dub 向您展示了为什么要重构而不是重写(但我猜您已经知道重写是 a thing you should never do..)
【讨论】:
Working Effectively with Legacy Code 专注于处理需要改进以实现可测试性的现有代码库。本书中使用了许多技术来实现这一点,并且是重构的极好资源。
【讨论】:
如果您寻找的不仅仅是代码重构,您可能会发现 Scott Ambler 的书非常有用:http://www.ambysoft.com/books/refactoringDatabases.html
【讨论】:
这里有一些Wiki pages about refactoring 探讨了各种原则和指南。
【讨论】:
【讨论】:
重构 HTML 是新的并且相对较好,你可以猜到它涵盖的内容 :)
除了你提到的两本书是我用得最多的两本书,Agile Principles也很好。
【讨论】:
这里有一个代码异味的“备忘单”:http://industriallogic.com/papers/
【讨论】:
我建议阅读有效地使用遗留代码,然后重构 - 改进现有代码的设计。 Martin Fowler 的书对我来说更像是一本收据书,它解释了如何。有效地使用遗留代码,解释了我认为的原因。
以下是一些与重构有关的其他书籍:
antipatterns refactoring software architectures and projects in crisis
refactoring in large software projects performing complex restructurings
【讨论】:
【讨论】: