awesome-everything EN
↑ Обратно к восхождению

Базовый CS с нуля

Variables and state: свободное припоминание

Суть Промпты на свободное припоминание по юниту — сначала ответь по памяти, затем раскрой модельный ответ и сравни.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на middle-высоте — в небе
◷ 13 min

Припоминание сильнее перечитывания. На каждый промпт проговори или запиши полный ответ по памяти, прежде чем открыть модельный — именно усилие восстановить модель памяти закрепляет её.

Цель

Восстанови хребет юнита по памяти: чем на самом деле является variable, что assignment и mutation делают с ячейкой, что такое состояние и почему копирование примитива отличается от копирования reference.

Вспомните перед уходом
  1. 01
    Что такое variable в терминах имени, binding и ячейки?
  2. 02
    Объясни assignment как машинную операцию и почему '=' стоит читать как «получает», а не «равно».
  3. 03
    Что такое mutation и чем состояние отличается от истории мутаций?
  4. 04
    Сопоставь семантику копирования (по значению) и reference-семантику. Что лежит в ячейке в каждом случае?
  5. 05
    Что такое aliasing, почему он вызывает неожиданные баги и как его избежать?
  6. 06
    Что именно защищает const и что он НЕ защищает?
Итог

Если ты восстановил каждый ответ по памяти, ты держишь хребет юнита: variable — это имя, привязанное (binding) к ячейке, и имя и значение различны; assignment — разрушающая запись, читаемая как «получает»; mutation меняет ячейку на месте, а состояние — снимок всех текущих ячеек; примитивы копируются по значению, а объекты — по reference, что и делает aliasing — и порождаемые им баги — предсказуемыми; а const запечатывает binding, но никогда — содержимое за ним.

Продолжить восхождение ↑Variables and state: чтение кода
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources2
expand
  1. 01
  2. 02

Trademarks belong to their respective owners. Editorial reference only.