Я увидела в метрике, что один из самых популярных запросов начинается с "книга о..." и спросила у знакомых разработчиков, какие книги по программированию они относят к категории "must read".
Не мудрствуя лукаво, ребята скинули мне подборку, которая когда-то была на Stack Overflow (сайт-сообщество для программистов: работа, вопрос-ответ, блог, исследования и пр.).
Чтобы угодить читателю (и повысить рейтинг канала) было принято командное решение сделать мини-рубрику с книжными обзорами.
Взгляните, пожалуйста, на список и скажите, обзоры каких книг могли бы вызвать у вас интерес. А если вы не увидели "той самой" книге, сообщите, буду признательна.
1. Эффективная работа с унаследованным кодом (Майкл Физерс)
Автор предлагает полноценные стратегические приемы эффективной работы кодом, который не тестировали, либо трудноизменяемым кодом.
Эта книга максимально прикладная: Майкл Физерс вел семинары по этой теме, обучил сотни разработчиков, технических руководителей и тестирующих программное обеспечение подчинять себе непослушные унаследованные системы.
2. «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» (Джонсон Ральф, Хелм Ричард, Влиссидес Джон, Гамма Эрих)
Авторы рассказывают о простых и "красивых" решениях задач, часто возникающих в объектно-ориентированном проектировании.
Книга будет интересна и новичкам (сразу научатся делать хорошо) и профи (отточат имеющиеся навыки)
3. Чистый код (Роберт Мартин)
Роберт Мартин расскажет как написать хороший код, как красиво исправить кривой код, как мыслить, чтобы написать действительно классный код.
В книге очень много примеров качественного и откровенно плохого кода, а также немного философии программирования.
4. Java Concurrency на практике (Ли Дуг, Готц Брайан)
В "Java Concurrency на практике" вы найдете как теорию, так и конкретные методы создания надежных, масштабируемых и поддерживаемых параллельных приложений. Авторы ознакомят вас с правилами проектирования, паттернами и моделями, которые не зависят от версии Java и на протяжении многих лет остаются актуальными и эффективными.
5. Предметно-ориентированное проектирование (Эрик Эванс)
Эдакий справочник по вопросам объектно-ориентированного разработки программного обеспечения.
Существует очень мало пособий по эффективному внедрению моделирования предметных областей в практику разработки программ. Книга Эрика Эванса заполняет этот пробел. Она посвящена не отдельным технологиям, а систематическому предметно-ориентированному подходу. В ней представлен широкий набор приемов и методик, основанных на практическом опыте, и фундаментальных принципов, помогающих в реализации программных проектов из сложных предметных областей.
Автор рассматривает много примеров из личной практики и делится своим опытом решения сложных вопросов.
6. Java Script. Хорошие стороны (Дуглас Крокфорд)
JS был создан в спешке и особо не отлаживался (это отдельная история, как-нибудь расскажу). В этой книге среди множества неудобных JS-конструкций выделены наиболее надежные, понятные и удобные, при помощи которых можно написать хороший и качественный код.
7. Шаблоны корпоративных приложений (Ми Роберт, Фаулер Мартин)
Справочник для разработчиков корпоративных систем. Он помогает им преодолевать различные сложности и предлагает множество проверенных решений для решения повседневных проблем.
8. Совершенный код (Стив Макконнелл)
"Фундаментальная философия о практическом программировании" - так сказал мне знакомый разработчик.
Книга в основном о работе с ПО, но подход к рабочему процессу и образ мысли подойдет программисту любой специальности.
Автор пишет не только о практической составляющей, но и научит вас мыслить так, чтобы в итоге написать совершенный код.
P.S: лично меня еще прикалывает, что в фамилия автора 3 раза встречаются "двойные буквы".
9. Рефакторинг - улучшение существующего кода (Мартин Фаулер)
Основу книги составляет подробный перечень более 70 методов рефакторинга (переработка кода), для каждого из которых практический пример на Java. Рассмотренные в книге методы позволяют поэтапно преобразовать код.
10. Паттерны проектирования (Фримен Эрик, Бейтс Берт, Сьерра Кэтти, Фримен Элизабет)
Авторы описывают наиболее оптимальные шаблоны (паттерны) проектирования на Java.
Рекомендовано тем, кто не горит желанием изобретать велосипед, а хочет сразу начать кодить красиво.