![Причина - CSS is Awesome Причина - CSS is Awesome](https://habrastorage.org/getpro/habr/upload_files/dae/ac0/5b5/daeac05b54e923ac221ebeabf89e117f.png)
«В чём причина?» — такой первый вопрос я бы советовал задавать перед решением каждой ошибки и задачи.
«Вижу следствие» — в начале своего пути разработчик чаще всего стремится исправить ошибку как она есть, а не разобраться глубоко, какой причиной она была вызвана.
Простой реальный пример с проекта, над которым я сейчас работаю.
Заголовок страницы написан заглавными буквами «ПРОДУКТЫ» вместо «Продукты».
Следствие: видно сразу — быстро поправить и забыть про этот баг. Минимум приложенных усилий.
![](https://habrastorage.org/getpro/habr/upload_files/ea5/dfe/39d/ea5dfe39d8c6a13d2c58e6ee13b9fc74.png)
Причин может быть несколько:
Нет договоренности с дизайнерами, в каком едином стиле должны быть заголовки. Решение - обсудить с дизайнерами и стандартизировать работу с заголовками.
Неправильно переопределена глобальная тема для Typography: кто-то когда-то давно так сделал. Решение - изучить темы и привести к единому виду.
Предыдущий разработчик или дизайнер (легаси) думал, что заголовки всегда должны быть заглавными буквами и делал их такими во всех своих страницах. Решение - просмотреть другие страницы и поправить их тоже.
Переход от бездумного комбайна по исправлению следствий до поиска причин и их исправлений характеризует один из основных качественных ростов разработчика от Junior до Middle‑Senior.
Важно! — иногда лучше решить ошибку сразу быстро, а потом завести задачу на исправление причины в целом.
Если у вас есть свои примеры, напишите в комментариях. Думаю, такой опыт будет полезен для новых разработчиков.
Фильм «Хористы» и Акция‑Реакция
Для более глубокого понимания этой темы предлагаю вам посмотреть гениальную комедийную драму «Хористы» 2004 года и подумать над вопросом: «Я сейчас работаю через Акцию или Реакцию?», где учителя — это фреймворки и библиотеки, а ученики — это наши ошибки и задачи.
Трейлер на https://www.kinopoisk.ru/film/51481/ - а сам фильм вы знаете где можно посмотреть бесплатно :)
![https://www.kinopoisk.ru/film/51481/ https://www.kinopoisk.ru/film/51481/](https://habrastorage.org/getpro/habr/upload_files/836/6b7/b29/8366b7b29c2c8698bdab8e07a9e341ae.png)
В чём причина появления фреймворков?
На глобальном уровне фреймворки стараются минимизировать количество таких возможных причин. Правда, архитектурные решения фреймворка не всегда удачны и они порождают новые виды причин, с которыми мы работаем ежедневно.
Фреймворки и библиотеки декларируют решаемые проблемы на их главной странице.
Несколько положительных примеров:
$mol - актуальность через отсутствие версионирования, реактивность по умолчанию, локализация и тестирование из коробки, уменьшение бойлерплейта шаблонов верстки.
React - упрощение шаблонов верстки, огромная экосистема, популярность благодаря Facebook.
Vue - приятная и понятная документация, удобные шаблоны, хорошая оптимизация и сборщик на VIte с HMR.
Фреймворк выбирается один раз на проект, а задачи и ошибки в проекте появляются каждый день.
Основная идея данной статьи
Над текущей (будущей) ошибкой или задачей задайте себе вопрос «В чём причина?» — это поможет улучшить качество вашей работы и откроет новые варианты её решения. Это может быть сложно.
Постарайтесь этот вопрос довести до автоматизма для лучшего качества вашей работы.