Base/Knowledges/Библиотека/Книги/Ум программиста. Как понять и осмыслить любой код.md

58 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
Тип: Книга
Статус: Запланировано
Название: Ум программиста. Как понять и осмыслить любой код
Автор:
- Фелин Херманс
Количество страниц: 272
Прогресс: 0
Формат: Электронная
Обложка: Библиотека/Книги/covers/um-programmista.jpg
Начата:
Закончена:
Оценка:
Сложность:
Теги:
- когнитивистика
- чтениеода
- программирование
- продуктивность
- обучение
Категории:
- Программирование
- Профессиональный рост
Источник:
Ссылка:
---
# Ум программиста. Как понять и осмыслить любой код
![[covers/um-programmista.jpg]]
## 📖 О книге
Книга Фелин Херманс — доцента Лейденского университета — применяет когнитивную науку к повседневной работе программиста. Автор объясняет, как мозг читает и понимает код, почему возникает замешательство при работе с чужим кодом и как снизить когнитивную нагрузку. Охватывает темы именования переменных, изучения новых языков программирования, парного программирования и поддержания кода в читаемом состоянии.
## 🧠 Ключевые идеи
- **Три типа памяти при чтении кода**: долговременная (хранилище знаний), кратковременная (временный буфер ~7 элементов) и рабочая (обработка информации) — понимание их работы помогает писать более понятный код
- **Три источника замешательства**: нехватка фундаментальных знаний, нехватка нужной информации в моменте и недостаток вычислительных ресурсов мозга — каждый требует разного решения
- **60% времени уходит на понимание кода**: большинство рабочего времени программист читает, а не пишет — это меняет приоритеты при проектировании читаемости
- **11 ролей переменных**: классификация (счётчик, флаг, бродяга, контейнер и др.) помогает давать более точные имена и лучше понимать чужой код
- **Когнитивная нагрузка и стиль кода**: camelCase эффективнее snake_case при поиске на 51,5%; интервальное повторение лучше всего закрепляет синтаксис новых языков
## 💬 Важные цитаты
- «Замешательство — неотъемлемая часть программирования»
- «60% времени программистов тратится на понимание кода, а не на его написание»
- «Программы должны писаться для того, чтобы их читали люди»
## 💡 Как применить в моих проектах
## 🔗 Связанные заметки
- [[Чистый код]]
- [[Совершенный код]]
- [[Рефакторинг кода на JavaScript]]