Чеклист для самопроверки. 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 в консоли возникают ошибки.
  • Часть функциональности не реализована: не добавляются начальные карточки, не выполнено открытие и закрытие формы.
  • Работа содержит вопросы или просьбы о помощи к ревьюеру.
  • На повторных итерациях не исправлены критические замечания.