Book
リファクタリング
Martin Fowler
Summary
外部の振る舞いを変えずに内部構造を改善するリファクタリングのカタログ。 Code Smellsの検知と継続的な設計改善の手法を確立した名著。
Editor's Note
For intermediates who want a catalog of techniques to improve working code without breaking it. Its value rises sharply if you already have testing skills; early on, use it as a reference to dip into rather than a cover-to-cover read.
Target Readers
- コード品質向上を目指すエンジニア
- レガシーコードの改善に取り組む開発者
Tags
Colophon
- Publisher
- オーム社
- ISBN
- 978-4274224546
- Published
- Dec 2019
- List price
- ¥4,840incl. taxMay differ from the actual selling price on Amazon
Get this book
* The link above is an advertisement via Amazon Associates.Related Books
Prerequisites
- Recommended
Clean Code
Robert C. Martin
Reason: Once you know what good code looks like, you need techniques to safely move existing code toward that standard. Refactoring offers a systematic way to improve structure without changing behavior, guided by code smells.
- Related
The Art of Readable Code
Dustin Boswell, Trevor Foucher
Reason: Once you know what readable code looks like, you need techniques to move existing code toward that shape without breaking it. Refactoring offers a step-by-step way to improve structure in small moves without changing behavior, guided by code smells.
Sources
- Related
The Pragmatic Programmer
David Thomas, Andrew Hunt
Reason: Refactoring is how the pragmatic discipline of not living with broken windows is applied to real code. It turns 'spot the decay, fix it now' into a habit of small, behavior-preserving improvements.
Sources
- Related
Head First Design Patterns
Eric Freeman, Elisabeth Robson
Reason: Once you can recognize patterns, techniques for safely moving existing code toward the pattern it wants to be become valuable. Refactoring lets you introduce patterns not in one leap but as a sequence of incremental, safe transformations.
Sources
Next Books
- Recommended
レガシーコード改善ガイド
Michael C. Feathers
Reason: Once safe refactoring moves are in hand, you take on the hardest case: legacy code without tests. You first find seams to break dependencies, cover them with tests as a safety net, and only then improve the structure.
Sources
- Related
A Philosophy of Software Design, 2nd Edition
John Ousterhout
Reason: Once you have tactical means of improvement, you raise your view to the strategic question of why—the nature of complexity itself. A new criterion enters your refactoring decisions: does this actually reduce complexity?