Думаю я не единственный, кто через это проходил. Прошу поделитесь опытом.
Пол года назад, как я начал углубляться в мир WEB технологий и с тех пор нахожусь в поисках. Суть в том, что начав из простого HTML и CSS я стал замечать огромное количество лишних телодвижений, которые приходилось делать каждый раз. Это и копипаст ранее написанного кода и бесконечное дублирование одного и того же из минимальными различиями ну и наконец адская навигация между сотен строк разноцветных букв, а также несколько часовые затупиты из-за ошибки которую во всем этом хаосе попробуй найди.
Естественно, я начал искать пути автоматизации и упрощения этого процесса. Сначала SCSS, затем BEM подход, Gulpи какие-то примитивные плагины для разбивки ужасно бесконечной html простыни на какие-то модули. После этого шаблонизатор Pug, который перевернул мое представление о верстке с ног на голову. И уже мне стало мало возможности просто структурировать код и следовать принципам DRY, давай делать умные блоки ... Блин, думаю, както стремно все время писать бэм классы руками, а bem-tools как то не прет, давай выдумывать велосипед. А тут еще и pug mixin-ы в которых отсутствует скоуп между дочерними и родительскими блоками, из-за чего вылезает 20 новых преград на пути, чтобы поймать Дзэн и уйти в Нирвану, а значит и здесь нужен велосипед. А потом велосипед для велосипедов... В конечном итоге мои умные блоки становятся настолько умными, что скоро начнут меня посылать и ходить ночевать к друзьям))). А если серьезно то я понимаю, что на пути к упрощению читаемости, поддержки и переиспользования некой единицы кода, все время сворачиваю в сторону создания универсальной сущности которая запрограммирует сама себья. Потом понимаю, что иду не туда, более того через день-два сам увже не могу разобраться как оно все работает (о какой поддержке может идти речь), все удаляю, создаю новую папку и снова все по кругу....
Как вовремя остановиться, как увидеть грань между здравым смыслом и маразмом? Возможно, также, есть какие методические рекомендации по этой тематике?
Ну, я не могу сказать, что это ускоряло, так как, почти всегда или пропускал какой то закрывающий тег после чего долго и нудно исправлял или в конечном итоге приходилось сделать какие-то изменения и начиналась эпопея - пойди найди все места где это использовано, исправь и не сделай еще 100500 дополнительных проблем. Благо есть pug и такая проблема отпала сама по себе.