Я занимаюсь погружением в html/css за последние несколько недель, и теперь я пытаюсь оптимизировать свой код с помощью принципа DRY (наряду с SMACSS/OOCSS/BEM). Я считаю, что у меня есть достойное понимание всего этого, но есть одна вещь, которая до сих пор не ясна для меня.Точность принципа DRY
Должен ли применяться принцип DRY 100% времени? Скажем, например, у вас есть «text-transform: uppercase»; применяется к двум различным классам. Согласно принципу DRY, вы должны удалить набор правил из каждого отдельного класса и поместить его в разделенный запятыми список обоих классов. Но через некоторое время это не делает вашу таблицу стилей полной беспорядком, где каждый класс объявляется несколько раз на одном листе? Или это действительно не имеет значения, как выглядит ваш лист, поскольку вы могли бы просто искать «верхний регистр» в окне поиска, если бы какие-либо будущие изменения были необходимы?
Похоже, что вы не получите каких-либо улучшений производительности из этого сценария. Да, вы удаляете одно свойство из своего листа, но вы также добавляете совершенно новый набор правил и повторяете имя класса.
Я понимаю, что это можно сделать в любом случае в зависимости от предпочтений и каждого проекта, но я больше обеспокоен тем, что может быть самым эффективным способом (особенно когда речь идет о создании больших сложных сайтов). Я хотел бы оставаться последовательным во всех моих проектах, продвигающихся вперед.
Есть ли какие-либо рекомендации, чтобы уйти? Например, возможно, только комбинирование повторяющегося кода, если количество свойств, которые вы удаляете, больше, чем X? Или только комбинирование повторяющегося кода, когда они связаны семантически?
Наверное, лучше всего спросить у [programers.se]. – JJJ
В 2015 году будет очень сложно найти устройство, которое будет бороться с CSS (без злоупотребления преобразованиями/переходами/тенями), независимо от того, как вы его пишете, поэтому вам не стоит беспокоиться о производительности, а также о том, как повысить надежность кода. – Shomz
Препроцессор CSS, такой как LESS или SASS, поможет вам DRY, не жертвуя ремонтопригодностью. В правиле DRY я бы сказал, что это применимо, когда два класса будут ВСЕГДА меняться вместе. В примере с верхним регистром, если у вас есть тема, в которой определенные заголовки имеют верхний регистр, тогда DRY имеет смысл. Если каждый заголовок может быть прописным или строчным, тогда DRY не имеет смысла, поскольку они меняются независимо в концепции. –