Программистам бывает сложно разобраться в море информации, которая его окружает. Мы составили список книг, которые полезно почитать любому.
Паттерны объектно-ориентированного проектирования
Р. Джонсон, Р. Хелм, Дж. Влиссидес, Э. Гамма
Must-read для каждого программиста. Четыре первоклассных разработчика - Банда четырех - представляют вашему вниманию опыт ООП в виде двадцати трех паттернов. Паттерны появились потому, что разработчики искали пути повышения гибкости и степени повторного использования своих программ. Авторы не только дают принципы использования шаблонов проектирования, но и систематизируют информацию. Вы узнаете о роли паттернов в архитектуре сложных систем и сможете быстро и эффективно создавать собственные приложения с учетом всех ограничений, возникающих при разработке больших проектов. Все шаблоны взяты из реальных систем и основаны на реальной практике. Для каждого паттерна приведен код на C ++ или Smalltalk, демонстрирующий его возможности.
Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
А. Бхаргава
Алгоритмы — это всего лишь пошаговые инструкции решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузится в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время? Откройте великолепно иллюстрированную книгу и вы сразу поймете, что алгоритмы — это просто. А грокать алгоритмы — это веселое и увлекательное занятие.
Программист-прагматик. Путь от подмастерья к мастеру
Э. Хант, Д. Томас
Уроки, извлеченные из этой книги, помогли целому поколению программистов усвоить саму суть разработки программного обеспечения, независимо от конкретного языка, библиотеки или методики. Предложенный авторами книги прагматичный философский подход к разработке программного обеспечения нашел широкое распространение, породив сотни других книг и статей, а также послужил началом для тысяч успешных карьер и историй профессионального роста.
Код. Тайный язык
Ч. Петцольд
Культовая книга, ставшая для многих первым уверенным шагом в программировании. Автор книги «Код» заглянул настолько далеко в прошлое, что добрался до XIX века и на примере первых телеграфных машин объяснил устройство компьютера.
И пусть «Код» весьма основательно объясняет устройство компьютера (немного найдется других книг, где описано, например, как именно работает процессор), стиль книги вполне развлекательный. Несмотря на глубину темы, автор устроит читателю комфортную прогулку по миру программирования.
Для всех, кто мечтает научиться программировать или уже учится. Для всех, кому интересна внутренняя жизнь компьютеров и принципы их работы.
Чистый код: создание, анализ и рефакторинг
Р. Мартин
Плохой код может работать, но он будет мешать развитию проекта и компании-разработчика, требуя дополнительные ресурсы на поддержку и «укрощение». Каким же должен быть код? Эта книга полна реальных примеров, позволяющих взглянуть на код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Вы узнаете много нового о коде. Более того, научитесь отличать хороший код от плохого, узнаете, как писать хороший код и как преобразовать плохой код в хороший.
Книга состоит из трех частей. Сначала вы познакомитесь с принципами, паттернами и приемами написания чистого кода. Затем приступите к практическим сценариям с нарастающей сложностью — упражнениям по чистке кода или преобразованию проблемного кода в менее проблемный. И только после этого перейдете к самому важному — концентрированному выражению сути этой книги — набору эвристических правил и «запахов кода». Именно эта база знаний описывает путь мышления в процессе чтения, написания и чистки кода.