Элегантные Объекты(ElegantObjects) - это ряд ограничений, которые собрал воедино(не знаю, какие из них придумал лично он) Егор Бугаенко и заявил, что только объекты соблюдающие эти ограничения можно назвать элегантными.
Сейчас появился и язык программирования с таким же названием, но речь идет именно о наборе ограничений или принципов.
Я работаю с большим объемом легаси кода, который часто писался на скорую руку для проверки быстрой проверки гипотез и остался в проекте навсегда. Каждый принцип концепции мной читается через боль, которую я испытывал нарушая его.
До сих пор просматривая фиксы багов на ревью я вижу сколько из них не появились бы никогда, если код был элегантным.
Это не означает, что это серебряная пуля. Попытки строго соблюдать все “заповеди” даже в небольших проектах показывают, что не только лишь плюсы.
Я рекомендую всем попробовать написать библиотеку из 10-20 классов соблюдая все принципы 100%. Почитать примеры применения на своем языке. Так вы сможете оценить ценность каждого принципа и необходимые страдания для его соблюдения.
Интересный ресурс Pragmatic Objects Сергея Капралова. Там есть продуманный критический взгляд на elegantobjects.