На прошлой неделе я писал про онлайн-курсы по программированию и вообще с чего лучше начать, а также обещал, что в этом посте будет информация о так называемых «must read» книгах. Т.е. книгах, которые должен прочитать каждый уважающий себя программист, ведь они дадут очень сильный толчок в развитие.
Итак приступим, для начала отмечу, что информации на данную тему в инете и так очень много, например Ландрина об этом писала, а еще упоминали на Скиллките, но как бы то ни было я представлю свою подборку топ-5, надеюсь вы найдете в ней много интересного.
1.»Совершенный код» Стив Макконнелл ©Ozon
Изложенные в книге методики и стратегии помогут вам:
- проектировать с минимальной сложностью и максимальной продуктивностью;
- извлекать выгоду из групповой разработки;
- применять методики защитного программирования, позволяющие избежать ошибок;
- совершенствовать свой код;
- применять методики конструирования, наиболее подходящие для вашего проекта;
- быстро и эффективно производить отладку;
- своевременно и быстро обнаруживать критические проблемы проекта;
- обеспечивать качество на всех стадиях проекта.
2. «Чистый код: создание, анализ и рефакторинг» Роберт К. Мартин ©Ozon
Даже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший.
Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги — концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и «запахов кода», собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.
3.»Приемы объектно-ориентированного проектирования. Паттерны проектирования» Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес©Ozon
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.
Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
Стабильность, безопасность и дружественный интерфейс — вот три важнейших слагаемых успеха вашего программного продукта. Если в ваши планы не входит в течение последующих лет отвечать на недовольные письма пользователей, выслушивать критику заказчиков и постоянно латать дыры, устраняя возникающие баги, то прежде чем выпустить финальный релиз, прочтите эту книгу.