Must-read книги про качественный код

2023.01.03

Умение писать качественный код необходимо для успешной карьеры. Важность хорошо написанного кода невозможно переоценить: его легче читать и поддерживать, что ведет к повышению производительности и снижению затрат для бизнеса. В этой статье я поделюсь своими любимыми книгами по качеству кода, которые помогли мне улучшить свои навыки и узнать лучшие практики написания чистого, эффективного и удобного для сопровождения кода. Эти книги широко известны, многие принципы из них сегодня повсеместно применяются, и я считаю, что они способны принести пользу разработчикам любой квалификации.

Рефакторинг: улучшение существующего кода

Авторы: Мартин Фаулер, Дон Робертс, Джон Брант, Уилльям Апдайк, Кент Бек

Год первой публикации: 2000

Обложка книги Refactoring: Improving the Design of Existing Code
Обложка книги Refactoring: Improving the Design of Existing Code

Рефакторинг – один из основных навыков, которым следует научиться каждому разработчику после, непосредственно, написания работающего кода. Эта книга описывает, что это такое, как это делать, и основные виды рефакторинга.

Делать регулярный рефакторинг не только полезно для повышения продуктивности работы над кодом, но и очень приятно: рефакторинг оставляет после себя удовлетворение, чувство того, что код стал гораздо более читаем и чист.

Очень советую книгу.

Приёмы объектно-ориентированного проектирования. Паттерны проектирования

Авторы: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес

Год первой публикации: 1994

Обложка книги Design Patterns: Elements of Reusable Object-Oriented Software
Обложка книги Design Patterns: Elements of Reusable Object-Oriented Software

Знать паттерны стоит не только потому, что они облегчают проектирование, но и потому, что они предоставляют разработчикам общий язык и набор стандартных решений для типичных проблем проектирования. Они помогают думать о проблемах проектирования более структурированно.

Книга “Паттерны проектирования”, так же, как и “Рефакторинг” – не столько самоучитель, сколько настольный справочник, каталог, к которому можно регулярно обращаться во время работы для консультации.

Совершенный код

Автор: Стив Макконнелл

Год первой публикации: 1993

Обложка книги Code Complete
Обложка книги Code Complete

Сложно представить себе список книг по написанию качественного кода без “Совершенного кода”. Это монументальное произведение, которое охватывает все аспекты программирования, от советов по самодокументирующемуся коду, до рекомендаций о том, как лучше использовать оператор if.

Книга объёмная, но тем не менее рекомендую всем прочитать хотя бы те части, которые вам покажутся нужными.

Программист-прагматик. Путь от подмастерья к мастеру

Авторы: Эндрю Хант, Дэвид Томас

Год первой публикации: 1999

Обложка книги The Pragmatic Programmer: From Journeyman to Master
Обложка книги The Pragmatic Programmer: From Journeyman to Master

Определённо, моя самая любимая книга из этого списка. “Программист-прагматик” содержит высокоуровневые советы, общие принципы, и мудрые метафоры, которые вы сами можете применять в своей работе к конкретным, частным случаям. Например, именно эта книга ввела принцип DRY (Don’t Repeat Yourself).

Каждый совет из этой книги – на вес золота, и я крайне рекомендую внимательно прочитать её несколько раз всем разработчикам.

Экстремальное программирование

Автор: Кент Бек

Год первой публикации: 1999

Обложка книги Extreme Programming Explained: Embrace Change
Обложка книги Extreme Programming Explained: Embrace Change

Экстремальное программирование – это методология, поэтому, в отличие от прочих книг в данном списке, эта книга в том числе затрагивает управление проектом. Тем не менее, в ней содержится большое количество советов и методик, которые можно и нужно применять для повышения качества кода. Поэтому советую прочитать “Экстремальное программирование” независимо от того, применяется ли эта методология или её отдельные части на вашем рабочем месте.

Экстремальное программирование. Разработка через тестирование

Автор: Кент Бек

Год первой публикации: 2002

Обложка книги Test-Driven Development: By Example
Обложка книги Test-Driven Development: By Example

Разработка через тестирование (Test Driven Development, TDD) – гениальный в своей простоте и эффективности подход, который решает огромное число проблем одновременно: уменьшает человеческий фактор, избавляя от прокрастинации по отношению к написанию тестов, увеличивает их покрытие, ускоряет и упрощает разработку за счёт уверенности в коде, уверенности в том, что изменения ничего не сломают и код будет работать, решает проблему “чистого листа”, позволяет делать более удобные программные интерфейсы и структурирует в голове представление о том, что из себя будет представлять ваш код.

Настоятельно рекомендую ознакомиться с этой книгой и попробовать некоторое время применять её советы в работе – вы не пожалеете.


Примечание: Все обложки книг принадлежат соответствующим правообладателям. Здесь используются их версии с низким разрешением на правах свободного использования в информационных целях, без какой-либо коммерческой цели. Если я не прав, можете связаться со мной.