• »

Второе издание книги Мартина Фаулера «Рефакторинг. Улучшение существующего кода»

"Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты."
Мартин Фаулер
Почти 20 лет прошло с момента выхода 1-го издания книги, которая покорила сердца миллионов программистов по всему миру, изменив навсегда их представление о хорошем коде. И даже спустя столько времени она не потеряла своей актуальности и сегодня. Несмотря на столь почтенный для книги по программированию возраст (не секрет, что информация в технической литературе быстро устаревает), ее до сих пор покупают, читают, советуют
Я долго ждал, когда же ее переиздадут, обновят и представят широкой общественности…
И это наконец-то свершилось! На 31 декабря анонсирован выход 2-го издания известной книги Мартина Фаулера «Рефакторинг. Улучшение существующего кода» (Martin Fowler, Refactoring: Improving the Design of Existing Code)
Рефакторинг — это процесс изменения программы, при котором ее функциональные возможности остаются без изменений, а все модификации осуществляются с целью «наведения красоты и порядка» в программном коде, сделав его более читабельным, логичным и понятным другим людям, что, несомненно, способствует уменьшению появления новых багов в будущем
Для тех, кто еще не знаком с первым изданием книги, которая появилась аж в July 8, 1999 года (у нее даже есть официальный сайт), и ничего не слышал про Мартина Фаулера, предлагаю небольшой экскурс в историю
Кто вы, Mr. Fowler?
Мартин Фаулер, Кент Бэк, Роберт Мартин, Джошуа Блох и другие — это имена людей, заложивших основы современной разработки и правила хорошего тона при проектировании объектно-ориентированного программного обеспечения. Чтение книг данных авторов является обязательным для всех, кто хочет профессионально развиваться в области разработки ПО (их книги мы еще обсудим в будущих статьях)
Мартин Фаулер
Мартин Фаулер является автором ряда книг и статей по архитектуре ПО, объектно-ориентированному анализу и разработке, языку UML, рефакторингу, экстремальному программированию, предметно-ориентированным языкам программирования. Среди его публикаций наибольшую популярность получили такие книги, как «Refactoring» и «Patterns of Enterprise Application Architecture»
Вот что пишет про себя Мартин Фаулер:
"На протяжении всей моей карьеры меня интересовали дизайн и архитектура программных систем, особенно корпоративных приложений. Я твердо верю, что плохой дизайн программного обеспечения приводит к программному обеспечению, которое трудно изменить в будущем, что, непременно, способствует лавинообразному появлению ошибок, которые в итоге загубят весь проект "
Обложка 1-го издания
Первое издание «Рефакторинга» прогремело, как гром среди ясного неба, раскат которого до сих пор слышен в профессиональной среде, книжных полках и умах программистов. На тот момент — это была одна из немногих книг, в которой были собраны жемчужины опыта правильной разработки ПО. Мартин Фаулер пролил свет на процесс рефакторинга, описав принципы и лучшие приемы его реализации, а также указал, где и когда следует начинать углубленное изучение кода с целью его улучшения
Рефакторинг — это не оптимизация кода с целью увеличения его производительности, а набор простых шагов по улучшению его читаемости: выбор более понятного и логичного имени для класса или переменной, упрощение метода, разделение его на несколько более мелких, правильное форматирование кода и т.д.
Кроме написания книг Мартин также публикует статьи на своем сайте, ведет аккаунт в твиттере и facebook
Назначение подобных книг, как эта, бывают непонятны для начинающих программистов, т.к. они думают, что от программы требуется лишь чтобы она работала, а от программиста — написание работающих программ. Но это далеко не так! Читаемость кода, его понятность, логичность тех или иных архитектурных решений важнее, чем просто работающая программа. Если код написан небрежно, кое-как, то сопровождать такую программу будет истинным мучением
Второе издание книги сохранило свою структуру, но по заявлению автора он полностью переписал каждую главу с нуля, добавив новые техники улучшения кода. Кроме этого, если в первом издании все примеры кода были на Java, то во втором — это стал уже JavaScript (эх, Мартин-Мартин). Более подробно со всеми мыслями автора книги относительно 2-го ее издания можно ознакомиться на официальном сайте
Оцените статью, если она вам понравилась!