На днях рассказали душераздирающую кулстори. В одной крупной компании решили во что бы то ни стало не дублировать сущности. И придумали следующее: запихнуть всё, что связано с заказом, в одну сущность, родив тем самым универсальную модель.
В один условный Order свалили всё подряд: – маркетинг, – доставку, – гарантию, – бухгалтерию, – и еще кучу других контекстов.
Один класс. Несколько таблиц. Сотни полей. Всё ради принципа DRY.
Выглядело это как «единый источник правды», но по факту стало «единым источником страдания». Потому что теперь, чтобы добавить одно поле в заказ, нужно пройти согласование у двух десятков (!) команд и потерять к жизни интерес.
Но зато, да — дублирования нет. DRY достигнут. Правда, теперь всё мокрое от слёз разработчиков.
Делитесь своими кулсторями про универсальные модели в комментах. Мы знаем, они у вас есть)
На днях рассказали душераздирающую кулстори. В одной крупной компании решили во что бы то ни стало не дублировать сущности. И придумали следующее: запихнуть всё, что связано с заказом, в одну сущность, родив тем самым универсальную модель.
В один условный Order свалили всё подряд: – маркетинг, – доставку, – гарантию, – бухгалтерию, – и еще кучу других контекстов.
Один класс. Несколько таблиц. Сотни полей. Всё ради принципа DRY.
Выглядело это как «единый источник правды», но по факту стало «единым источником страдания». Потому что теперь, чтобы добавить одно поле в заказ, нужно пройти согласование у двух десятков (!) команд и потерять к жизни интерес.
Но зато, да — дублирования нет. DRY достигнут. Правда, теперь всё мокрое от слёз разработчиков.
Делитесь своими кулсторями про универсальные модели в комментах. Мы знаем, они у вас есть)
“[The defendant] could not shift his criminal liability,” Hui said. A vandalised bank during the 2019 protest. File photo: May James/HKFP. The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. When choosing the right name for your Telegram channel, use the language of your target audience. The name must sum up the essence of your channel in 1-3 words. If you’re planning to expand your Telegram audience, it makes sense to incorporate keywords into your name. Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019.
from us