Чтобы стать лучше в разработке, нужно не только писать хороший код, но и читать о том, как его писать.
Привет, хабр! Продолжаю делиться полезными подборками.Помимо всех благ современного мира – подкастов, видео, блогов и т. д., чтение хорошей книги – это то, что по-прежнему востребовано.Совсем недавно я опубликовал 2 поста со списком репозиториев Github: Часть 1 И Часть 2 .
На этот раз предлагаю вашему вниманию подборку полезных книг для разработчиков.
Если кому интересно, добро пожаловать под кат.
Я прочитал много хороших книг по технологиям и разработке программного обеспечения и до сих пор читаю, чтобы быть в курсе новых моделей и лучших практик.
Найти отличные книги по разработке программного обеспечения — непростая задача, поскольку экосистема меняется так быстро, что многие вещи устаревают за короткое время.
Особенно это касается тех книг, в которых описывается конкретная версия языка программирования.
Однако есть книги, которые неподвластны времени: те, которые посвящены метатемам, шаблонам проектирования или общим концепциям.
Следующая подборка состоит из самых популярных и самых читаемых книг.
Книги, которые актуальны и сегодня и которые опытные разработчики часто рекомендуют новичкам.
Я знаю, что время драгоценно, особенно для разработчиков.
Но если вам удастся прочитать некоторые из этих книг, это определенно поможет вам и вашей карьере.
Обратите внимание, что книги в списке не ранжированы по важности — все они в равной степени рекомендованы к прочтению.
1. Взлом интервью по программированию или Карьера программиста
Я очень рекомендую эту книгу всем, кто хочет тщательно подготовиться к собеседованию.
Автор, Дж.
Лакман Макдауэлл, опытный инженер-программист, был одновременно интервьюером и кандидатом.
Он научит вас находить в вопросах скрытые детали, разбивать задачи на небольшие кусочки, а также поможет улучшить навыки учебы.
Более того, автор предоставляет нам 189 реальных вопросов для собеседования и их реальные решения, чтобы вы могли хорошо подготовиться к следующему собеседованию.
2. Код завершен или Идеальный код
Эта книга Стива МакКоннелла — одна из тех книг, которые, скорее всего, каждый программист листал хотя бы раз в жизни.
Это всесторонний анализ дизайна программного обеспечения, хорошо написанный и востребованный в отрасли.
В книге рассматриваются такие темы, как проектирование, кодирование, отладка и тестирование.
Эта книга, вероятно, принесет максимальную отдачу от инвестиций для разработчиков с профессиональным опытом от одного до трех лет. Но я также рекомендую издание новичкам, так как оно помогает на старте разработки ПО.
Ключевой вывод: разработчики должны управлять сложностью и писать код, который легко поддерживать и читать как для них самих, так и для других.
3. Чистый код или Чистый код
Книга Роберта Мартина (или дяди Боба) «Чистый код» — одна из самых популярных книг по программированию.
Он был написан для того, чтобы научить инженеров-программистов писать чистый код. Книга содержит множество примеров, показывающих, как провести рефакторинг кода, чтобы сделать его более читабельным и удобным в сопровождении.
Но имейте в виду, что публикация ориентирована именно на Java. Хотя некоторые из шаблонов и методов применимы и к общему программированию, и к другим языкам, основная аудитория книги — разработчики Java. Также следует отметить, что книга была опубликована в 2008 году.
Некоторая информация, например, о форматировании кода, сегодня менее актуальна из-за доступных инструментов и IDE. Но все равно это отличная книга.
4. Рефакторинг или Улучшение проекта существующего кода
Второе издание книги Мартина Фаулера объясняет, что на самом деле представляет собой рефакторинг, как и первое издание, вышедшее 20 лет назад. Прочитав книгу, вы найдете ответы на следующие вопросы:
- Зачем мне рефакторить свой код?
- Как распознать код, требующий рефакторинга?
- Как я могу успешно провести рефакторинг своего кода?
Вы также научитесь находить ошибки в коде вашего товарища по команде, которые требуют рефакторинга.
5. Шаблоны проектирования «с головой вперед» или Шаблоны проектирования
Эта книга, написанная четырьмя авторами, научит вас шаблонам проектирования и лучшим практикам, используемым другими разработчиками для создания функционального, многократно используемого и гибкого программного обеспечения.
Книга содержит множество визуальных представлений, которые помогут вам легче изучать новые концепции.
Если вы хотите узнать о таких вещах, как фабрики, синглтоны, внедрение зависимостей и т. д., эта книга — отличный выбор.
Примеры написаны на Java, поэтому было бы неплохо знать этот или любой другой объектно-ориентированный язык.
6. Шаблоны архитектуры корпоративных приложений или Шаблоны корпоративных приложений
Еще одна замечательная книга Мартина Фаулера о разработке корпоративных приложений.
После краткого руководства Мартин предлагает более 40 шаблонов, которые помогут вам решить распространенные проблемы при разработке корпоративных приложений.
В книге вы найдете большое количество UML-визуализаций и примеров кода, написанных на Java или C#.
Прочитав книгу, вы сможете разделять корпоративные приложения на слои, знать основные подходы к организации бизнес-логики, использовать шаблоны MVC для организации веб-приложений и управлять параллельной обработкой множества транзакций.
Однако книга довольно старая, поэтому современные концепции, такие как REST, облако или JSON, не упоминаются.
Это хороший материал для изучения, но все же относитесь к нему критически.
7. Эффективная работа с устаревшим кодом или Ээффективная работа с устаревшим кодом
В книге автор предлагает стратегии работы с большими базами устаревшего кода, не охваченными тестами.
Вы можете подумать: «Сейчас 2020 год. Устаревший код больше не проблема, потому что у нас есть чистый, поддерживаемый код и микросервисы».
Позвольте мне заверить вас, что это ошибочное мнение.
Устаревший код по-прежнему остается одной из самых больших проблем для многих компаний.
Прочитав эту книгу, вы сможете понять общую механику изменений программного обеспечения, например, добавление функций, исправление ошибок, оптимизацию производительности и улучшение дизайна.
Вы также узнаете, как подготовить устаревший код к тестированию и определить, где его необходимо изменить.
Книга содержит примеры, написанные на Java, C++, C и C#, а также содержит советы по работе с унаследованным кодом, не являющимся объектно-ориентированным.
8. Чистый программист или Идеальный программист
Еще одна книга от дяди Боба, в которой рассказывается о методах, практиках и инструментах настоящего мастерства в программном обеспечении.
Он содержит практические советы по оценке проектов, написанию кода, рефакторингу и тестированию.
Прочитав эту книгу, вы научитесь справляться с конфликтами, плотным графиком и нерациональными менеджерами; научитесь справляться с постоянным давлением и избегать выгорания; Узнайте, как управлять своим временем, писать качественный код и помогать создавать среду, в которой разработчики и команды могут процветать.
Книга эта довольно популярна, но я думаю, что не все в ней чистое золото.
В нем собрано множество анекдотов и гипотетических разговоров, которые в большинстве случаев приводят к выводу, что в конечном итоге ответственность за то, что он делает, несет разработчик.
Иногда эти отрывки заходят слишком далеко: в одном из таких отрывков разработчика, код которого сгенерировал ошибку, просят компенсировать компании финансовые потери.
Поэтому советую вам прочитать эту книгу внимательно и с дозой критики.
9. Введение в алгоритмы или Алгоритмы: построение и анализ
Данная публикация представляет собой не что иное, как обязательное руководство по алгоритмам различных типов.
Книга имеет очень широкий профиль и подойдет как новичкам, так и профессионалам.
Материал изложен доступно и раскрывает саму суть вопроса.
Но в то же время книга не совсем простая.
Он охватывает такие темы, как структуры данных, быстрые алгоритмы, полиномиальные алгоритмы для сложных задач, теория графов, вычислительная геометрия и многое другое.
Хотя книга содержит несколько примеров псевдокода, на мой взгляд, она очень «теоретическая».
10. Прагматичный программист или Прагматичный программист
Это одна из самых серьезных книг, которые я когда-либо читал.
Публикация полна как технических, так и профессиональных практических советов, которые помогли мне во многих проектах, а также помогли мне стать лучшим разработчиком.
Книга очень актуальна даже в 2020 году, особенно последнее издание.
Здесь автор исследует, что значит быть современным девелопером, исследуя самые разные темы: от личной ответственности и карьерного роста до архитектурных методов.
Прочитав книгу, вы поймете, что такое непрерывное обучение и насколько оно важно; Узнайте, как писать гибкий, адаптируемый и динамический код, как решать проблемы конкуренции, как обеспечить максимальную безопасность, как тестировать «безжалостно и эффективно» и многое другое.
Если бы мне пришлось выбрать только одну книгу, чтобы порекомендовать вам, я бы выбрала эту!
Заключение
Это был список некоторых из самых популярных книг для разработчиков.Лучшим из списка, на мой взгляд, является «Программист-прагматик» автора? Хант и Д.
Томас.
Книги Роберта С.
Мартина популярны и нравятся многим разработчикам, но я бы советовал относиться к их чтению критически, поскольку по многим вопросам я не согласен с дядей Бобом.
Наверняка многие из этих книг вы уже читали или хотя бы держали в руках или хотя бы видели в Интернете.Теги: #Алгоритмы #программирование #Читальный зал #Образовательный процесс в IT #дизайн #Профессиональная литература #архитектура #рефакторинг #карьера программиста #книги по программированию #устаревший кодКак выразился автор статьи, это «вечные» книги, посвященные основам.
Если вам есть что добавить к списку, поделитесь в комментариях, думаю, это будет полезно всем.
-
Супермен Против Программиста
19 Oct, 24 -
За Пределами Закона Мура
19 Oct, 24 -
Курсоры Из Broodwar
19 Oct, 24 -
Ларс Бак О Будущем Google Chrome
19 Oct, 24 -
Преобразование Wii В Microsoft Surface
19 Oct, 24