Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 5.7 KB

specs.md

File metadata and controls

66 lines (48 loc) · 5.7 KB

Specifications (WIP)

Gerenal

Іменування репозиторіїв: [a-z]{1,}[a-z\_]*[a-z]{1,}

Під час використання IDE варто зважати на будь-які підказки статичних аналізаторів (лінтерів).

Git

Використання системи контролю (бажано git) версій must have. В випадку використання git рекомендується основну розробку проводити в гілці dev/develop. Після перевірки проводити перенесення змін в гілку master. В master повинна завжди бути присутня стабільна і працездатна версія проекту.

PHP

  • Рекомендується дотримання всіх актуальних PSR-ів
  • Поля БД іменються за шаблоном [a-z]{1,}[a-z\_]*[a-z]{1,}. Наприклад, test_project.
  • До назв зовнішніх ключів варто додавати суфікс _id. Наприклад, category_id.
  • Рекомендується використання composer та версій пакетів з стабільними версіями.

WP

  • Рекомендується використання актуальних версій ядра системи та плагінів.
  • Забороняється редагування вихідного коду ядра системи, або не власних плагінів. Після оновлення, код може змінитися, що приведе до несправності.
  • Підключення верстки до WP виконується в вигляді окремої теми.

Front-end

  • Візуальний результат верстки повинен відповідати графічному макету. Перевірку можна проводити за допомогою PerfectPixel.
  • Результат верстки повинен бути перевірений засобами PageSpeed Tools. Як результат повинні бути проведені всі можливі оптимізації (графіка, скрипти і стилі).
  • Рекомендується використання систем збірки, наприклад Gulp.

HTML

  • Схвалюється використання валідаторів W3C та інших
  • Необхідно реалізувати семантичну розмітку
  • Використання тегів <img> повинно бути мінімізоване, до них варто вдаватися коли виводяться логотипи, фотографії товарів, постів та ін. В усіх інших випадках варто використовувати css background-image.
  • Вся графіка повинна бути мінімально можливого розміру.
    • растрові зображення без прозорості (фони і тд.) повинні бути збережені в форматі jpeg з оптимізацієї під web.
    • растрові зображення з шаром прозорості повинні бути збережені в форматі png з оптимізацієї під web.
  • Схвалюється використання спрайтів.
  • Схвалюється використання svg.
  • Елементи в секціях з контактною інформацією, де зазначаються телефонні номери, або адреси електронної пошти повинні бути виконані, як посилання з префіксами tel: і mailto: в атрибуті href відповідно. Приклад: <a href="tel:+43534534343">+43534534343</a>.

CSS

  • Стилі повинні бути написані в єдиній систему, до прикладу smacss або bem (Переміщення одного блоку, не повинно руйнувати зовнішній вигляд всієї сторінки).
  • Схвалюється використання препроцесорів (LESS, Stylus і тд.), перевага надається SCSS.
  • Схвалюється використання популярних бібліотек на зразок Bootstrap та ін.
  • Схвалюється використання бібліотек reset.css, normalize.css або аналогічних.
  • Бажано не використовувати конструкцію !important, або мінімізувати її кількість.

JS

  • При використанні jQuery не варто використовувати змінну $ в якості покажчика на jQuery. Наприклад:
jQuery('.myClass') // good
$('.myClass') // bad

Іноді $ використовують для інших об'єктів і це може спричиняти колізії.

  • Для реалізації слайдерів рекомендується використовувати Owl Carousel 2.
  • Для кастомізації форм рекомендується використовувати JCF