Ты неправильно понял статью. Или статья неправильная. за 20% времени можно накидать основу, а 80% занимает доработка. Это касается как верстки так и функционала. смешивать это не стоит. распределение в целом больше зависит от того что важнее логика или визуальная составляющая.
#div1 .div2:hover #div1 .div2 .div3
Как перевести эту строку?
Магии нет, есть мошенничество
в блоке #div1 нет вложенного #div1 кроме того ид может быть только один на странице....
#div1 .div2 так писать не надо
#div1 .div2 .div3 - за это нужно отстреливать
#div1 .div2:hover #div1 .div2 .div3 это.....
На мой взгляд - нет. Пример переносим блок2 в другое место. Потом решаем что блок1 устарел и удаляем его. Все приплыли.... Если элемент надо переиспользовать в других блоках то это тоже блок.