Підніміть руку , якщо ви front-end розробник і в якийсь момент у вашій кар'єрі виникло таке відчуття, що ви робите дуже прості речі, що внесок, який ви робите в команду, мінімальний і те, що робите ви, може зробити будь-хто. Якщо це так, то ви є частиною більшості.
Я маю на увазі, що будь-хто може зробити це в CSS:
p {
color:red;
}
Отже, що дає мені право скаржитися? CSS не розуміє, що ви не вмієте програмувати. І це абсолютно очевидно, стилізування одного елемента на глобальному рівні без інших класів ніяк не засмучує CSS, проте дуже засмучує інших розробників.
Так що, коли стає тяжко?
back-end розробник: Я реалізував нову функцію, але зламав front-end, я виправив більшість помилок залишилось тільки кілька простих налаштувань, дороби це, там має бути не більше 30 хвилин роботи...
Я: * -Відкрив HTML- Таблиці повсюди, застарілі теги-HTML, нульове свідчення адаптивного дизайну. -Вдихаю глибше- Звичайно CSS вони написали краще. -Відкриваю CSS- Фіксовані позиції, чистіleft
таright
і найприємніше, повсюди!important
. -Після побаченого, я повільно дістаю мишу, беру дріт і обгортаю навколо шиї-*
Добре, таке може траплятися, але я все-таки декілька разів зустрічав back-end розробників, які пишуть придатний до вживання front-end код. І це прекрасно, коли вони сумлінно допомагають front-end розробникам.
Так, що все-таки треба робити для гарного CSS?
Структура, структура проекту дуже важлива, особливо про роботі з великими проектами, гарним прикладом є ось цей Kаталог структур, які допоможуть Вам зберегти свій код від Стівена Бредлі. Стаття орієнтується на SCSS, але може бути застосована до будь-яких проектів.
Специфічність - ймовірно найбільша проблема з якою я стикаюсь щодня. На жаль, більшість розробників мають розмите розуміння CSS специфіки і це призводить до поганого CSS... !important повсюди. Тож, як нам виправити цю ситуацію? Є багато іменувань (див. нижче), які спрямовані на зведення до мінімуму потреб в специфічних CSS селекторах, однак, якщо це не ваша справа, я б рекомендував уникати селекторів з більш ніж трьома елементами/класами.
Конвенція імен дуже важлива для будь-яких великих CSS проектів. Без них CSS стає не ремонтопридатним і не заслуговує на довіру, конвенції імен дозволяють повторно використовувати CSS в рамках проекту і видаляти невикористані ділянки CSS, якщо це необхідно. Деякі популярні конвенцій імен: BEM, OOCSS, SMACSS і мій власний hiccup.
Тестування, це річ на яку більшість розробників не звертають уваги. Знаєте, що є дійсно крутим в back-end розробці?. Те, що ви розробляєте для одного середовища (сервер на якому буде встановлений ваш сайт). А що є дуже поганим в front-end розробці? Це 5+ браузерів і тисячі різних мобільних пристроїв... Якісне front-end тестування є завданням, яке займає багато часу, але я помітив, що все ж таки проекти, на які не відводиться час на тестування, загалом виконуються за більшу кількість часу, ніж проекти з ним.
Ще немає коментарів