«многие из описываемых рефакторингов довольно сложные (в том смысле, что их не автоматизируешь, хочется верить, что пока)» — наверно, это было бы покруче, чем кнопка «сделай хорошо» в Photoshop'е
Рефакторинг к «идеалу» ещё сложно делать, так как иногда сложно понять, что-же имел ввиду автор кода. Конструктор в factory преобразовать ещё куда не шло. А вот автоматизировать избавление от Singlenton'а в произвольном окружении — вряд ли.
кстати в продаже ее уже давно нет, видимо все распродано. хотел купить б/у, тоже не нашел… может кто в курсе, будет ли еще одно издание, или может, кто-то хотел бы продать? :)
Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
Patterns of Enterprise Application Architecture by Martin Fowler
Вот что вспомнилось на вскидку из must read кроме Кериевски
Начинал читать «Эффективная работа с унаследованным кодом». Очень понравилось — хороший стиль изложения, хороший перевод (лучше чем в этой книге). Не дочитал банально по причине отсутствия времени.
Тут несколько моментов.
1. Книга достаточно сложная. Не по форме, а по содержанию.
2. Шрифт мелкий, плотный, объем информации большой, а качество этой информации зашкаливает — в смысле, что прочитал две страницы и два дня думал. Поэтому есть сильное подозрение, что комментаторы свели к «ниасилил» (если нашли в себе силы признаться в этом). Я вот тоже «ниасилил», но немного по другим причинам.
«Эффективная работа с унаследованным кодом» — отличная книга. Мне она очень помогла начать писать юнит-тесты и существенно продвинула мои знания ООП. В книге много хороших примеров, касающихся приведения говнокода к коду, который можно начать тестировать. По большому счёту, эта книга — сборник рецептов по приведению нетестируемого кода в тестируемый вид.
Книга Джошуа Кериевски «Рефакторинг с использованием шаблонов»