Азбука хорошего разработчика. Книжки для чтения

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

Паттерны проектирования
Википедия - там, в принципе, на хорошем уровне все описано и приведены примеры на разных языках.
Базовая книга – классика:
«Приемы объектно-ориентированного проектирования. Паттерны проектирования» - читал книгу давно, и раза 3. Вам того же советую. Даст возможность понимать большое количество терминов, произносимых другими разработчиками.

Рефакторинг
«Рефакторинг. Улучшение существующего кода» - вероятно, эта книга сделала революцию в написании кода. Читается быстро и интересно. Методы рефакторинга должны отложиться в голове до конца жизни. Ваш код отныне будет лучше. В книге есть упоминание про юнит тестинг.

Наверное, классикой в этой области ТДД считается книга -
«Экстремальное программирование: разработка через тестирование» - просто и доступно. Даст базу, но не научит писать юнит тесты.

Для углубления познаний в юнит тестинге советую прочитать толстый каталог хЮнит паттернов:
xUnit Test Patterns: Refactoring Test Code
- ссылку на курсы английского языка я не буду приводить, так как предполагаю, что программист должен уметь читать англоязычные книги. Книга ответила на все мои вопросы, возникающие в процессе многочисленных попыток писать хорошие тесты.

Следующая книга, рассказывает о том, как правильно использовать паттерны и тоже обязательна «Рефакторинг с использованием шаблонов» Возможно, после прочтения этой книги, вы таки сможете использовать паттерны во благо.

Углубляемся
«Архитектура корпоративных программных приложений» - еще одна буква в азбуке разработчика. Описывает подходы, составляющие, паттерны. Необходима для понимания еще кучи непонятных терминов.

Если в предыдущей книге фундаментальные понятия. То в книге « Применение DDD и шаблонов проектирования. Проблемно-ориентированное проектирование приложений с примерами на C# и .NET » можно понять, как их применить. Перевод - отвратительный, так что, возможно, многие её предпочтут читать на английском языке. А, еще эта книга дала мне понимание наконец-то, что такое «Внесение зависимостей» (Dependency injection).

Полученные знания, из книг указанных выше, дадут результат, если научиться использовать их постоянно. В книге - Continuous Integration: Improving Software Quality and Reducing Risk рассказывается, что нужно для этого сделать.

Что дальше
Я прочитал книги упомянутые выше. Дальше я планирую прочесть
Implementation Patterns - вроде как основы, разложенные по полочкам в результате труда Кента Бека.

Книга, которую я сейчас читаю
Beyond Software Architecture: Creating and Sustaining Winning Solutions

Также жду выхода
Aspect Oriented Refactoring - даже само название уже звучит интересно.

Refactoring HTML: Improving the Design of Existing Web Application - по аннотации очень интересно (мне как веб-разработчику, по крайней мере).

Знатоки скажут, что я хитер – перечислил книги из серии Мартина Фаулера и сделал пост. В принципе, вы правы, всю статью можно было написать одним предложением:
Прочитайте все книги из The Addison-Wesley Signature Series и будет вам счастье.

Автор: http://www.kigorw.com



Опубликовал admin
15 Апр, Вторник 2008г.



Программирование для чайников.