Урок 5 из 8 · 20 мин · обновлено

Понимать свой код: минимум HTML, CSS и JavaScript

Из каких частей состоит HTML-файл, за что отвечают разметка, стили и скрипт, как найти в коде нужное место и как попросить нейросеть объяснить непонятный фрагмент.

Зачем понимать, если пишет нейросеть

Можно ни разу не заглянуть в код — пока всё работает. Но как только нужно что-то найти, поменять мелочь или описать ошибку, понимание устройства файла экономит часы. Учить программирование для этого не нужно: достаточно знать, где что лежит.

Три языка в одном файле

В файле трекера живут три разных языка, и у каждого своя работа:

Язык Отвечает за Где в файле
HTML что есть на странице: заголовок, список, поле, кнопка внутри <body>
CSS как это выглядит: цвета, отступы, шрифты внутри <style> в начале файла
JavaScript как это себя ведёт: что происходит при нажатии, что сохраняется внутри <script> в конце файла

Если хочется поменять внешний вид — ищите в <style>. Поведение — в <script>. Текст и элементы — в <body>.

Разметка: что есть на странице

HTML
<h1>Мои привычки</h1>
<p id="today"></p>
<div id="list"></div>
<form id="add-form">
  <input type="text" id="new-habit" placeholder="Новая привычка" required>
  <button type="submit">Добавить</button>
</form>

Разметка состоит из тегов: <h1> — заголовок, <p> — абзац, <div> — контейнер, <form> — форма с полем <input> и кнопкой <button>.

Обратите внимание на id. Это имя элемента, по которому код его находит. Контейнер id="list" пока пустой: карточки привычек в него нарисует JavaScript.

Стили: как это выглядит

CSS
.habit { display: flex; gap: 12px; padding: 12px; border: 1px solid #ddd; border-radius: 12px; }
.habit.done { background: #e8f5e9; border-color: #66bb6a; }

Правило состоит из селектора — к чему применить — и свойств в фигурных скобках. .habit — все элементы с классом habit, то есть карточки. .habit.done — карточки, у которых есть ещё и класс done, то есть отмеченные: у них светло-зелёный фон.

Хотите другой зелёный — поменяйте #e8f5e9 на другой цвет вручную. Для такой мелочи нейросеть не нужна.

Скрипт: как это себя ведёт

Код трекера держится на нескольких частях. Данные — список привычек:

JavaScript
let habits = JSON.parse(localStorage.getItem('habits')) || [
  { name: 'Зарядка', days: [] },
  { name: 'Читать 20 минут', days: [] },
  { name: 'Выпить 2 литра воды', days: [] }
];

У каждой привычки название и список дней, когда она выполнена. Строка читается так: «возьми сохранённые привычки из хранилища браузера, а если их там нет — используй три стандартные».

Сохранение — одна короткая функция:

JavaScript
function save() {
  localStorage.setItem('habits', JSON.stringify(habits));
}

localStorage — хранилище в браузере. save() кладёт туда весь список, а при следующем открытии страницы строчка выше его достанет. Поэтому галочки не пропадают при обновлении.

Остальное устроено так же: функция render() рисует карточки в контейнер list, функция toggle() ставит или снимает отметку за сегодня, а обработчик формы добавляет новую привычку. После любого изменения код вызывает save() и render() — сохранить и перерисовать.

Как найти нужное место

  • Поиск по тексту. Нажмите Ctrl + F в Блокноте и ищите видимый текст: «Зарядка», «Добавить». Так вы найдёте и разметку, и данные.
  • По id. Нашли в разметке id="list" — ищите 'list' в скрипте: там код, который работает с этим элементом.
  • Попросите объяснить. Непонятный кусок вставьте в чат:
Текст
Объясни построчно, как новичку, что делает этот фрагмент.
Без терминов, которые не объяснил.

<фрагмент кода>

Ещё полезная просьба при каждом шаге: «Добавь в код короткие комментарии на русском, что делает каждая часть». Комментарии начинаются с // и браузером игнорируются, а вам помогают ориентироваться.

Попробуйте сами. Найдите в своём файле, где заданы три стандартные привычки, и вручную замените их на свои. Затем найдите правило стиля для отмеченной карточки и поменяйте цвет. Проверьте результат в браузере. Если стандартные привычки не поменялись — подумайте, почему, прежде чем открывать подсказку.

Подсказка, если привычки не поменялись

Стандартные привычки используются, только если в хранилище браузера ничего нет. А там уже лежит ваш сохранённый список — с прошлых запусков. Код честно загружает его и до стандартных не доходит.

Два способа проверить замену:

  1. Открыть файл в другом браузере — у него своё хранилище, пустое.
  2. Очистить хранилище: F12 → вкладка Application (в Firefox — Storage) → Local Storage → удалить запись habits, затем обновить страницу.

Это хороший пример того, зачем понимать код: без знания, как устроена загрузка, легко решить, что «нейросеть что-то сломала», хотя всё работает правильно.

Мини-тест: проверьте себя

Закрепите урок: несколько вопросов, разбор ответов — в конце.

  1. Где искать, чтобы поменять цвет отмеченной привычки?

  2. Что делает строка document.getElementById('list')?

  3. Зачем в трекере функция save()?

  4. Как попросить нейросеть объяснить непонятный кусок кода?