Чеклист для самопроверки. 5 Спринт.
Работа принимается
-
Есть index.html, index.css, директория blocks, файлы с картинками в папке images и README.md.
-
Корректно задан viewport, прописаны title и lang.
-
normalize.css импортируется в index.css выше остальных файлов стилей.
- Стили подключены в отдельном файле.
- Код форматирован одинаково, соблюдается иерархия отступов.
-
Файл README.md содержит:
- заголовок-название;
- описание проекта и его функциональности;
- указание, что за технологии используются;
- ссылку на GitHub Pages.
- Соблюдена методология БЭМ.
- Файловая структура организована по БЭМ.
- Присутствуют все секции, указанные в макете.
-
Вёрстка не ломается между брейкпоинтами:
- текст не выходит за границу своего блока;
- нет горизонтальных скроллов на промежутке от 320 пикселей до бесконечности.
-
Вся функциональность, указанная в задании, работает корректно и без ошибок:
- 6 карточек создаются при помощи JS;
- форма добавления карточки свёрстана, открывается, добавляет карточку;
- работает нажатие на кнопку лайка;
- удаление карточки реализовано корректно;
- модальные окна закрываются на любых разрешениях экрана;
- модальное окно с картинкой открывается, изображение не теряет пропорции;
- реализовано плавное открытие и закрытие модального окна CSS-стилями.
- Модальные окна свёрстаны и присутствуют в разметке, а не создаются динамически при помощи JS.
- Если данные пришли от пользователя, нельзя передавать их свойству innerHTML.
- Код не повторяется. Если строчка нужна в нескольких местах, она должна быть вынесена в отдельную функцию.
- Если переменная объявлена через let, её значение должно быть напрямую перезаписано.
- Если переменная не перезаписывает своё значение, она объявлена через const.
- Нет «магических значений»: все числовые значения записаны в переменные.
- Операции над DOM-элементами выполняются до их вставки в разметку.
- Функции, декларированные как function functionName() {} (function declaration), вызваны после объявления.
- Поиск одного и того же DOM-элемента не происходит дважды.
- Функция выполняет только одну задачу, например возвращает разметку карточки.
- Карточку можно добавить из любого текстового поля, нажав на Enter;
-
Код оформлен без ошибок:
- имена переменных и функций написаны в camelCase;
- имена переменных — существительные;
- имена переменных отражают то, что в них хранится. Если в проекте есть несколько переменных с похожими данными, то такие переменные имеют конкретные наименования.
- имена коллекций NodeList — существительные во множественном числе;
- имя функции отражает то, что она делает.
- имя функции начинается с глагола.
-
Для именования запрещены:
- транслит;
- неуместные сокращения.
Доступность интерфейса:
-
Все ссылки и интерактивные элементы имеют состояние наведения :hover.
-
Контентные изображения имеют alt с корректным описанием, соответствующим языку страницы.
Работа отклоняется от проверки
- При открытии index.html в консоли возникают ошибки.
- Часть функциональности не реализована: не добавляются начальные карточки, не выполнено открытие и закрытие формы.
- Работа содержит вопросы или просьбы о помощи к ревьюеру.
- На повторных итерациях не исправлены критические замечания.