#1 - «Искусство программирования» Дональд Кнут
Дональд Кнут – американский учёный, информатик и математик. Его фундаментальная работа «Искусство программирования» детально описывает все самые важные и распространенные алгоритмы, поэтому уложиться в один том автор просто не имел возможности.
Начиная с основ, Кнут ведет читателя в настоящие дебри программирования, рассказывая о том, что чаще всего не упоминается в других похожих материалах.
Предупреждаем сразу: книга тяжелая для понимания, в ней присутствует гипотетический язык MIX. Так что нетерпеливым новичкам и тем, кто не может похвастать хорошими знаниями математики, лучше начать с более простых учебников.
#2 - «Приемы объектно-ориентированного проектирования. Паттерны проектирования» Э. Гамма, Дж. Влиссидес, Р. Хелм, Р. Джонсон
Интересуетесь объектно-ориентированным программированием? Вас привлекают красивые решения? Тогда обязательно прочитайте эту книгу.
Речь в ней идет о паттернах – инструментах, обеспечивающих точную конструкцию, модульность и гибкость. Они применяются повсюду, и программирование не стало исключением.
Авторы рассказывают о месте паттернов в процессе создания архитектуры систем разной сложности, приводя при этом конкретные примеры, которые точно пригодятся проектировщикам. Подходит как для начинающих специалистов, так и для профессионалов.
#3 - «Рефакторинг. Улучшение существующего кода» Мартин Фаулер
В процессе рефакторинга должны исключаться дублирование, излишняя абстракция, большие списки параметров, чудовищных размеров классы и методы, etc. В общей сложности Фаулер описывает больше семи десятков методов рефакторинга. Причем автор детально объясняет каждый шаг, включая перемещение полей, частей кода и т. п.
Для каждого метода прилагается техника и примеры реализации на Java. Возможно, кому-то многие шаги покажутся элементарными. Но применив их все вместе, вы обнаружите, что ваш проект стал значительно лучше.
#4 - «Шаблоны корпоративных приложений» Мартин Фаулер
Вторая стоящая книга Мартина Фаулера, из которой можно почерпнуть ценные знания о разработке корпоративных систем. Помимо прочего, в ней даны ответы опытных программистов на самые сложные вопросы из данной сферы.
Как заметил Мартин, даже в условиях стремительного развития технологий главные принципы проектирования остаются неизменными. Вот почему собранные им 40+ оптимальных подходов никогда не потеряют актуальности.
Материал предназначен для архитекторов и разработчиков, которые занимаются корпоративным программным обеспечением и стремятся делать продукты исключительно высокого качества.
#5 - «Экстремальное программирование. Разработка через тестирование» Кент Бек
Clean code that works – вот главная цель любой разработки. И на пути к работающему чистому коду программисту очень пригодится книга «Экстремальное программирование». В ней описаны преимущества разработки через тестирование, суть которой заключается в том, чтобы начать проводить тесты еще до полного написания программы.
Кент Бек взял за основу два проекта на базе выдающейся техники Test Driven Development. И так, благодаря практическим примерам, он ярко демонстрирует силу и простоту этого уникального метода.
#6 - «Совершенный код» С. Макконнелл
Самое популярное руководство по коммерческой разработке, в котором содержатся результаты академических исследований и полезного практического опыта. Не зря она больше 10 лет возглавляла рейтинг лучших книг подобного рода.
Со временем издание обновлялось, впитывая в себя новые концепции и технологии. Поэтому насчет актуальности материала можете не переживать. После прочтения вы узнаете больше о защитном программировании, минимизации ошибок, плюсах командной разработки, производстве эффективной отладки и многом другом.
#7 - «Чистый код. Создание, анализ и рефакторинг» Роберт Мартин
Опытные разработчики уже, наверное, закатывают глаза при упоминании чистого кода, ведь не писал о нем только ленивый. Да вот только новичкам разобраться в теме не так-то просто. В книге Роберта Мартина собраны настоящие примеры кода. Они рассматриваются максимально подробно, что делает пособие интересным и для состоявшихся профессионалов.
Другими словами, вы непременно найдете в нем что-то новое и увлекательное, но самое главное – научитесь различать плохой и хороший код, а также самостоятельно делать из первого второй. Книга состоит из трех частей, и каждая из них заслуживает внимания.