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