Соглашение по разработке
Общие
- Функциональность и внешнее представление компонента не должны быть связаны, т.к при отключении CSS компонент должен сохранить свое поведение;
- Компонент не может сразу решать несколько задач;
- Документировать код;
- Тестировать.
CSS
- При именовании селекторов используем классическую схему БЭМ (block-name__element-name_modifier-name);
- Разделять стили на основные и скины/модификаторы.
- Добавлять префикс с именем компонента. Например, rf-accordion.
- Добавлять префикс js к компонентам, если это селекторы используются в JS. Например, js-tabs.
JS
- Разделять пустой строкой смысловые блоки;
- Использовать «Шаблон единственной инструкции var»;
- Использовать двойные ковычки вместо одинарных;
- Не переносить фигурные скобки на новую строку при использовании условных операторов;
- Проверять код с помощью jsHint;
- Следовать lowerCamelCase.Например, для переменных - variableName, а для функция, getFunctionName.
Термины
- Основные стили – это стили без которых компонент теряет свою функциональность;
- Скин – это стили для внешнего оформления компонента;
Поддержка браузеров
- последняя версия Google Chrome
- последняя версия Firefox
- последняя версия Opera
- последняя версия Yandex Browser
- последняя версия Safari
- последняя версия Edge
- IE 11
- последняя версия mobile Safari
- последняя версия mobile Google Chrome