Что почитать, чтобы лучше кодить?
Экспресс пост в ответ на вопрос.
Кратко: чтобы лучше кодить, надо больше кодить :-) и вдумчиво читать код.
Если чуть подробнее, то вопрос сложный и что-то посоветовать из чтения мне сложно:
- Я уже давно не читал книг для начинающих. Те, что вспомню, могут быть устаревшими лет как 10.
- У меня другой бэкграунд, о котором сейчас расскажу.
Я больше писал, чем читал :-D В итоге, когда я начал читать шаблоны проектирования, я подумал: «и что тут такого, я уже с этим сталкивался», когда листал совершенный код, я подумал аналогично. То есть моя практика обгоняла теорию.
Из книг я читал то, что советовали преподаватели в универе, благо было кому советовать, и то, что считал интересным. Страуструпа, например, 2 раза прочитал.
Поэтому я бы предложил читать:
- Родную документацию по своим основным инструментам: языку, библиотекам. Их разработчики обычно стараются указывать лучшие практики.
- Книги по мета штукам: как устроена ОС, как работают компиляторы, историю развития языков программирования, etc. Тут всё зависит от личных предпочтений, а материалы обычно общеизвестны. Например, для плюсистов я бы порекомендовал «Дизайн и эволюцию C++».
- Заметки на технических ресурсах а-ля Хабр, нужно тренироваться выхватывать из них интересные идеи.
С книгами по мета штукам фишка в том, что приёмы «чистой работы» довольно абстрактны, они одинаковы и при написании кода функции и при проектированиии операционной системы. Книги про написание функций мало кто пишет — это не пафосно. Зато книг про разработку ОС или компилятора навалом. Тем более, в исторической перспективе читатель может самостоятельно посмотреть на успешность проекта и сравнить написанное в книге с реальным положением дел. Я так историю и учу.
Но куда более важно писать код. Свои ошибки видны лучше, легче понять их причины и следствия. Особенно, когда только начинаешь работать и имеешь дело с небольшими проектами, в которых цена ошибки невелика.
Вдумчивый анализ кода: чужого или своего, к которому вернулся через полгода, может принести больше пользы, чем прочтение умной книги.
Главное чтобы анализ был вдумчивым. Надо не просто находить ошибки, а сразу думать откуда они возникли и как их можно избежать.
Полезными будут практики код ревью или парного программирования. Последним у меня была возможность позаниматься во время подготовки к студенческим олимпиадам по программированию. Необходимость быстро писать корректный код, понятный тебе и твоим товарищам, за год подготовки дала мне очень сильный толчок в развитии.
Читать далее
- Как завалить собес у меня
- Модная типизация в Python
- Опыт использования Julia
- Генерация подземелий — от простого к сложному
- О проектировании миров
- Как я делал и делал бы поддержку GDPR
- World Builders 2023: Предпочтения игроков в стратегии
- Автоматический генератор квестов
- Я — человек, который…
- World Builders 2023: Считаем бизнес-план для игры в Steam