CTO Vetmanager, PHP Developer, Ironman 70.3

Elegant Objects, нужны они мне?

Элегантные Объекты(ElegantObjects) - это ряд ограничений, которые собрал воедино(не знаю, какие из них придумал лично он) Егор Бугаенко и заявил, что только объекты соблюдающие эти ограничения можно назвать элегантными.

Сейчас появился и язык программирования с таким же названием, но речь идет именно о наборе ограничений или принципов.

Я работаю с большим объемом легаси кода, который часто писался на скорую руку для проверки быстрой проверки гипотез и остался в проекте навсегда. Каждый принцип концепции мной читается через боль, которую я испытывал нарушая его.

До сих пор просматривая фиксы багов на ревью я вижу сколько из них не появились бы никогда, если код был элегантным.

Это не означает, что это серебряная пуля. Попытки строго соблюдать все “заповеди” даже в небольших проектах показывают, что не только лишь плюсы.

Я рекомендую всем попробовать написать библиотеку из 10-20 классов соблюдая все принципы 100%. Почитать примеры применения на своем языке. Так вы сможете оценить ценность каждого принципа и необходимые страдания для его соблюдения.

Интересный ресурс Pragmatic Objects Сергея Капралова. Там есть продуманный критический взгляд на elegantobjects.