Комментарии 13
Осталось, только, узнать, какую книгу, действительно, было бы полезно написать для разработчика(ов)? И те книги, которые здесь упомянуты. Действительно ли они помогли? Было бы крайне интересно увидеть практические примеры было/стало.
Попробую поделиться своим опытом, но почти без кода.
Первой из них я прочитал "Чистый код" Мартина. На тот момент я ещё не работал программистом и в анамнезе было всего пара программ (генератор контрольных работ, небольшая программа для одной компании ЖКХ и мелочи-мелочи). Их было тяжело поддерживать, а код - забористая наркомания. Из-за них я тогда решил, что не буду работать программистом. Книгу прочитал случайно и мнение поменял. Для меня в то время было открытием (ДА! Открытием!), что переменные можно называть не a, b, n1, x_, а осмысленно, причём более осмысленно, чем quantity, volume и т. п. Сейчас это уже кажется смешным :-) Всё, описанное в книге теперь кажется тривиальным, очевидным и банальным.
Далее я прочитал "Чистую архитектуру", но к тому моменту я уже работал программистом и не скажу, что она оказала революционное влияние на мою работу. Скорее устаканила и систематизировала то, с чем я уже столкнулся.
Ну а книга "Грокаем алгоритмы", на удивление, несмотря на свою детскость, буквально недавно принесла мне небольшую премию чуть меньше 80 тыс. Я умудрился успешно применить алгоритм k-ближайших соседей для оптимизации работы склада. Хотя сейчас понимаю, что симплекс-метод подошёл бы явно лучше. На тот момент я его не знал, а в книге он не описывался.
P. S. Паттерны проектирования только открыл, но как-то отложил до лучших времён.
Почему-то тут некоторые ругают Чистый код, говорят что ни одна книга не сделала разрушающего воздействия чем она.
У меня та же история, что у @sepetov рядом. Прочитал "Чистый код" еще когда писал на FBD-языках для контроллеров Honeywell. С тех пор все эти приемы на кончиках пальцев, и я применяю их даже не задумываясь. И меня поражают разговоры типа "нам надо побыстрее поэтому мы гоним лютый говнокод". Для меня за много лет практики нет никакой проблемы писать и быстро и чисто.
Алгоритмы, паттерны - тоже мастхэв, т.к. это про ваши непосредственные скиллы. Программист, знающий классические алгоритмы CS и паттерны ООП/ФП/архитектуры всегда имеет козырь в рукаве.
"Чистая архитектура" выглядит как компиляция статей, выпущенная только чтобы денежку заработать. Поэтмоу не рекомендую.
Многие знания многие печали.
Прочитал чистый код и архитектуру, теперь чтение исходного кода на текущем месте работы положительных эмоций не вызывает.
Начинающим разработчикам рекомендую читать:
книги из своей области
книги из других областей
книги по математике и теоретической информатике
Например, пишите веб-сервисы на Node.js? Поинтересуйтесь, а как с этим обстоит в Erlang, Haskell или Go. Почитайте заодно про теорию вычислений, анализ алгоритмов и теорию языков программирования.
ЗЫ. В список выше я б добавил "Рефакторинг" Фаулера.
Начинающим разработчикам будет очень непросто выполнить вашу рекомендацию. Когда человек только входит в программирование, ему нужно переварить очень много информации из разных областей (core своего языка, пару фреймворков, базы данных, алгоритмы и т.д.). Читать про другие языки (особенно функциональные) в это тяжелое время нецелесообразно.
А вот мозг мидла, который уже многое впитал и переварил, получит удовольствие и пользу от того, что развивается вширь. Потому что он хотя бы пару вещей узнал вглубь.
Основные концепции языков программирования. Р. У. Себеста.
Объектно-ориентированное мышление. Вайсфельд
Книги для начинающих разработчиков: от «Чистой архитектуры» до «Паттернов проектирования»