Как стать автором
Обновить

Книги для начинающих разработчиков: от «Чистой архитектуры» до «Паттернов проектирования»

Время на прочтение5 мин
Количество просмотров33K
Всего голосов 13: ↑10 и ↓3+16
Комментарии13

Комментарии 13

Осталось, только, узнать, какую книгу, действительно, было бы полезно написать для разработчика(ов)? И те книги, которые здесь упомянуты. Действительно ли они помогли? Было бы крайне интересно увидеть практические примеры было/стало.

Попробую поделиться своим опытом, но почти без кода.

Первой из них я прочитал "Чистый код" Мартина. На тот момент я ещё не работал программистом и в анамнезе было всего пара программ (генератор контрольных работ, небольшая программа для одной компании ЖКХ и мелочи-мелочи). Их было тяжело поддерживать, а код - забористая наркомания. Из-за них я тогда решил, что не буду работать программистом. Книгу прочитал случайно и мнение поменял. Для меня в то время было открытием (ДА! Открытием!), что переменные можно называть не a, b, n1, x_, а осмысленно, причём более осмысленно, чем quantity, volume и т. п. Сейчас это уже кажется смешным :-) Всё, описанное в книге теперь кажется тривиальным, очевидным и банальным.

Далее я прочитал "Чистую архитектуру", но к тому моменту я уже работал программистом и не скажу, что она оказала революционное влияние на мою работу. Скорее устаканила и систематизировала то, с чем я уже столкнулся.

Ну а книга "Грокаем алгоритмы", на удивление, несмотря на свою детскость, буквально недавно принесла мне небольшую премию чуть меньше 80 тыс. Я умудрился успешно применить алгоритм k-ближайших соседей для оптимизации работы склада. Хотя сейчас понимаю, что симплекс-метод подошёл бы явно лучше. На тот момент я его не знал, а в книге он не описывался.

P. S. Паттерны проектирования только открыл, но как-то отложил до лучших времён.

Почему-то тут некоторые ругают Чистый код, говорят что ни одна книга не сделала разрушающего воздействия чем она.

Ну, у Роберта Мартина и правда можно недостатки найти, но и без них критиканты всегда найдутся. И для любого автора, тем более настолько известного.

Как бы то ни было - читать всё равно полезно. Главное читать достаточно много, чтобы сложилась картина.

У меня та же история, что у @sepetov рядом. Прочитал "Чистый код" еще когда писал на FBD-языках для контроллеров Honeywell. С тех пор все эти приемы на кончиках пальцев, и я применяю их даже не задумываясь. И меня поражают разговоры типа "нам надо побыстрее поэтому мы гоним лютый говнокод". Для меня за много лет практики нет никакой проблемы писать и быстро и чисто.

Алгоритмы, паттерны - тоже мастхэв, т.к. это про ваши непосредственные скиллы. Программист, знающий классические алгоритмы CS и паттерны ООП/ФП/архитектуры всегда имеет козырь в рукаве.

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

Многие знания многие печали.

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

Начинающим разработчикам рекомендую читать:

  • книги из своей области

  • книги из других областей

  • книги по математике и теоретической информатике

Например, пишите веб-сервисы на Node.js? Поинтересуйтесь, а как с этим обстоит в Erlang, Haskell или Go. Почитайте заодно про теорию вычислений, анализ алгоритмов и теорию языков программирования.

ЗЫ. В список выше я б добавил "Рефакторинг" Фаулера.

Начинающим разработчикам будет очень непросто выполнить вашу рекомендацию. Когда человек только входит в программирование, ему нужно переварить очень много информации из разных областей (core своего языка, пару фреймворков, базы данных, алгоритмы и т.д.). Читать про другие языки (особенно функциональные) в это тяжелое время нецелесообразно.

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

Соглашусь с Вами, только кого Вы называете мидлом, я называю начинающим. :) Рука не поднимается называть разработчиком того, кто не знает язык на котором пишет, инструменты, базы данных и остальное, необходимое для выполнения работы разработчика.

Хорошая книга (была). На сегодня весьма устарела по содержанию. Есть более новое, но не переведённое, издание, где рассматриваются более актуальные языки программирования.

Объектно-ориентированное мышление. Вайсфельд

НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий