/cdu_task

Primary LanguageJavaScript

Autocomplete

main.js — старые стандарты main.hipster.js — переписан в соответствии с ECMAScript 2015

Таблица начислений баллов за вёрстку (максимум — 18 баллов)

  • Страница свёрстана в соответствии с идеалогией bootstrap и используется его grid — до 5 баллов 0 — не используется bootstrap 1 — используется, но не полностью (например, случаи, когда используются "кастомные" блоки, хотя можно было обойтись стандартными) 2 — "кастомных" нет, grid не используется 3 — используется grid

  • Вёрстка адаптивная — до 2 баллов 0 — не адаптивная 1 — адаптивная, но media-запросы написаны "вручную" 2 — используется адаптивность bootstrap'а

  • input'ы обёрнуты в label — до 1 балла 0 — не обёрнуты 1 — обёрнуты

  • у input'ов задан placeholder — до 1 балла 0 — нет placeholder'а 1 — есть placeholder

  • наименования классов и id несут смысл — до 2 баллов 0 — не несут смысл 1 — несут, но иногда встречаются бессмысленные названия 2 — названия адекватные

  • классы и id именуются в стиле CSS-селекторов через '-' — до 1 балла 0 — именуются без '-' 1 — именуются с '-'

  • скрипты подключаются в конце body — до 2 баллов 0 — все подключатся в начале 1 — подключаются и в начале, и в конце 2 — подключаются в конце

  • css-правила иерархичны и не используют !important — до 2 баллов 0 — не соблюдена иерархия 1 — иерархия есть, но присутствуют !important 2 — иерархия есть, нет !important

  • отс**утствуют inline-стили — до 2 баллов 0 — много inline-стилей 1 — несколько inline-стилей 2 — нет inline-стилей

Таблица баллов за js (максимум — 14 баллов)

  • используется 'use strict' — до 1 балла 0 — не использутся 1 — используется

  • скрипт обёрнут в самовызывающуюся функцию — до 1 балла 0 — не обёрнут 1 — обёрнут

  • в аргументах самовызывающейся функции есть undefined — до 1 балла 0 — нет undefined 1 — есть undefined

  • переменные объявляются, а не используются как свойство глобального объекта window — от -5 до 0 баллов -5 — используются свойства window, а не объявление переменных 0 — переменные объявляются

  • именование переменных несёт смысл — от -1 до 2 баллов -1 — бессмысленные названия переменных 1 — названия несут смысл, но встречаются бессмысленные названия 2 — переменные названы адекватно

  • используются замыкания — до 1 балла 0 — не используются 1 — используются

  • отсутствует каша из vanilla js и jQuery (либо то, либо другое) — до 1 балла 0 — чистый js вперемешку с jQuery 1 — либо чистый js, либо jQuery

  • селекторы jQuery короткие, в крайнем случае используется $(...).find(...) — до 1 балла 0 — селекторы длинные 1 — селекторы короткие

  • селекторы не дублируются — до 1 балла 0 — селекторы дублируются 1 — селекторы не дублируются

  • если есть обращение к dom-елементу по id, то используется document.getElementById, а не свойство глобального объекта window — от -3 до 0 баллов -3 — обращение к элементы как к свойству window 0 — обращение через document.getElementById

  • используются let, const — до 1 балла 0 — не используются 1 — используются

  • используются стрелочные функции — до 1 балла 0 — не используются 1 — используются

  • используются строки-шаблоны — до 1 балла 0 — не используются 1 — используются

  • был произведён рефакторинг кода — от -1 до 2 баллов -1 — не был произведён 0 — код более-менее читаемый 1 — код читаемый 2 — код читаемый и переиспользуются

Таблица баллов за общую логику работы интерфейса (максимум — 5 баллов)

  • изначально показан только Регион — до 1 балла 0 — показаны все input'ы 1 — показан только Регион

  • последующие блоки пояляются, когда что-то выбрано в предыдущем — до 1 балла 0 — не появляются, так как уже показаны 1 — появляются

  • если в блоке изменяется значение, то последующие скрываются — до 1 балла 0 — не скрываются 1 — скрываются

  • карта инициализируется один раз, не перерисовывается, изменяется только placemark — до 2 баллов 0 — карта переинициализируется каждый раз, как выбран новый населённый пункт 1 — карта инициализируется один раз, перерисовывается через удаление всех geoObjects и добавление placemark заново 2 — перерисовывается только placemark