<p>Программировать — сложно.</p><p>Хороший код адекватно отражает систему, которую описывает, он устойчив к изменениям в этой системе. Плохой код запутанный, хрупкий и непонятный — он замедляет разработку.</p><p>Код становится плохим, когда он перестаёт соответствовать реальности — бизнес-требованиям, правилам поведения частей системы, их отношениям друг с другом.</p><p>Бизнес-правила — это территория. Код — карта этой территории. Чем точнее карта, тем проще справляться с изменениями в требовани...