Я достаточно хорошо разбираюсь с CSS. Тем не менее, при работе с чужим CSS мне трудно увидеть «большую картину» в их архитектуре (но у меня нет проблем при работе с таблицей CSS, которую я написал сам). Например, у меня нет проблем с использованием Firebug для изоляции и исправления проблем совместимости между браузерами, а также с исправлением плавающей проблемы или с изменением высоты для определенного элемента. Но если меня попросят сделать что-то радикальное, например: «Я хочу, чтобы правые боковые панели страниц A, B, C и D имели красную рамку. Я хочу, чтобы правые боковые панели страниц E, F и G имели синяя рамка в том и только в том случае, если пользователь наведет курсор мыши на «, тогда у меня уйдет много времени, чтобы наметить все правила наследования CSS, чтобы увидеть« большую картину ».
»
По какой-то причине я не сталкиваюсь с такой же сложностью с бэкэнд-кодом. После быстрого обсуждения того, как работает функция, и быстрого осмотра кода контроллера и модели, я буду чувствовать себя комфортно с архитектурой. Я подумаю: «Разумно предположить, что будет класс Employee, унаследованный от класса Person, который используется контроллером Department». Если я обнаружу неудобные детали, которые не соответствуют общему архитектурному стилю, я уверен, что смогу все вернуть на свои места.
Работая с чьим-то CSS, мне гораздо сложнее увидеть «взаимосвязи» между различными классами, а также то, когда и как эти классы используются. Когда есть много правил наследования, я чувствую себя подавленным.
У меня возникают проблемы с формулировкой моего вопроса и проблем ... Все, что я хочу знать, это то, почему мне намного сложнее увидеть большую картину в чужой архитектуре CSS, чем по сравнению с чьим-либо слоем бизнес-логики?
** Имеет ли это какое-то отношение к тому, что CSS является относительно новой технологией, а популярных шаблонов дизайна не так много?