Pull to refresh

Comments 26

Великолепнейший образчик животного земли, успешно развивающееся на протяжении 50 000 000 лет и какой-то 30ти-летний человечишка со своими глобальными мыслями об очередной нашей локальной фигнёй, о которой завтра забудут (при всём уважении).


За китов вот сейчас было обидно, да...

Справедливости ради, человек тоже спроектирован с дефектами. Чего только стоят все эти когнитивные искажения. А киты прекрасны, но правда же странный феномен :)
Справедливости ради, чтоб что-то объявить «дефектом» — нужно сначала выкатить (хотя бы теоретически) экземпляр без оного «дефекта» и обосновать, что у него и вправду всё значительно лучше.

Это я не к тому, что в результатах эволюции нельзя ничего улучшить (можно), а о том, что не стоит бездумно пытаться квалифицировать эволюционные особенности.
Хммм, значит ли это, что я не могу, например, критиковать кривое приложение, пока не выкачу такое же, но лучше? Или я не могу говорить, что двигатель у новой модели авто дефективный, пока не создам свой? Или я не могу критиковать застройщика за кривые стены в квартире, пока сам не построю такой же дом, но лучше?..
Хммм, значит ли это

Нет. Попробуйте прочитать верхний пост внимательнее.
Так вот же, прочитал: «Справедливости ради, чтоб что-то объявить «дефектом» — нужно сначала выкатить (хотя бы теоретически) экземпляр без оного «дефекта» и обосновать, что у него и вправду всё значительно лучше.»

Нужно выкатить свой экземпляр, а уже потом можно что-то говорить. Верно? Вы же это имели ввиду?)
Ну если вы два раза не прочитали часть в скобках — то я здесь бессилен. «Выкатить» так же не подразумевает «сделать лично здесь и сейчас», но это как раз явно следует из части в скобках, которую вы не читаете.
Если часть в скобках так важна, почему она в скобках?) Фактически часть в скобках нивелирует всю часть, что не в скобах, потому что без скобочек смысл один, а со скобочками другой, и с отдельным дополнением его объясняющим. Верно?
Начали с претензий к смыслу, закончили синтаксисом. Вы не компилятор — вы вполне способны читать все буквы, даже если синтаксис не идеален.

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

Для меня странно слышать слово "дефект" от тех, кто без доступа к тому же киту и тому, из чего он состоит и как работает — вообще ничего не может.


Это как поколение, которому полностью начхать на своих родителей, если они не умеют в айфончик пальцем тыкать.

Акулы охотятся на китов в том числе не давая им всплыть, чтобы подышать. Это лучше?

Используют баг в системе?)

Вы правда не поняли, о чем я говорил?

Пара замечаний по неудачному дизайна кита.


  1. Кит большой. Сжигает много пищи и кислорода.
  2. В воде содержание растворённого кислорода достигает 11 см³ на литр. В воздухе содержание кислорода равно 210 см³ на литр.
  3. Для получения достаточного количества кислорода из воды нужно прокачивать через жабры большие её количества. Например, непрерывно двигаясь (как акулы). И еще больше увеличивая потребление кислорода.
  4. Кит теплокровен — его подвижность не зависит от температуры. Большинство видов акул — нет. Для подогрева тела киту опять же нужны пища и кислород.
  5. Для того, чтобы получить достаточное количество еды, крупной рыбы уже недостаточно. Как и крупнейшие виды акул, киты питаются планктоном. И рады бы рыбкой, да где ж её взять в таких количествах?
  6. Киты были замечены на глубине до 3 километров. Акулы — до двух.

Возможно, MVP акулы и выглядит перспективнее, но мне кажется, что с ростом проекта разработчикам пришлось внести коррективы в то, что поначалу казалось таким очевидным.

Для получения достаточного количества кислорода из воды нужно прокачивать через жабры большие её количества. Например, непрерывно двигаясь (как акулы). И еще больше увеличивая потребление кислорода.

где у кита жабры? Если это млекопитающее, то у него легкие (sic!)


Кит теплокровен — его подвижность не зависит от температуры. Большинство видов акул — нет. Для подогрева тела киту опять же нужны пища и кислород.

Не понял — где тут неудачный дизайн? Лучше же быть подвижным, чем нет? Не так ли ?

где у кита жабры? Если это млекопитающее, то у него легкие (sic!)

Комментарий относится к первым двум абзацам статьи, где анализируется дизайн кита.
В них автор статьи приходит к выводу что дизайн — ужасен, потому что кит — не рыба. А еще кит — не хищник и вообще легаси. И нужно все переписать.


При том, что пятиминутного изучения domain'а (предметной области) должно было бы, чтобы понять, что рыба размером с кита просто задохнется. А хищник такого размера — умрет голодной смертью.

Все, понял, спасибо за расширенный ответ

А нужен ли нам такой размер? Вообще какая цель у проекта?

Выглядит как overengineering, но интересно.

Не уверен, что для мелких и средних проектов такой подход будет выгодным. Для больших — может быть…

Пример с сигналами Django не лучший, не уверен, что ими хоть кто-то сейчас активно пользуется. Не назвал бы их ни удобными, ни безопасными.

В то же время, некоторые идеи вполне полезны сами по себе. Например, «константный» контекст и его наполнение, сам пришёл к чему-то подобному.

У подобного «основательного» подхода к разработке основные плюсы сосредоточены на этапе поддержки/сопровождения, на это и надо делать упор в рассказе. Добавить больше генерации чего-нибудь, рисования диаграм, автоматического рефакторинга.
Спасибо! Я это учту в дальнейшей разработке проекта.

В текущем варианте — overengineering в чистом виде.


Техническая часть статьи сводится к тому, как силами всего трех дополнительных модулей и нескольких подключенных библиотек в Django-приложение можно встроить декларативный язык для описания stories. И что это дает некоторые преимущества при отладке бизнес-логики.


Сама реализация, ограничения, которые она накладывает на оптимизацию, технические проблемы, которые придется решать, полностью аналогичны тем, что встречаются при реализации GraphQL-сервера.


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


Более того — решить их на уровне библиотеки так, чтобы разработчик мог сконцентрироваться на бизнес-логике, в текущей, синхронной, версии Django не получится.

UFO just landed and posted this here

Так все правильно — все бизнес-проекты скатываются в легаси, потому что бизнес давит, что фичи нужны вчера, старая команда рассасывается кто куда и все… до DDD уже дело не доходит )

DDD выглядит хорошо как раз таки на больших проектах и примерах.
На небольших это как раз overengineering как правильно подметили в комментарии выше.
Единственная здравая мысль в статье — что DDD не про технические детали, а общение с бизнесом, а далее всё скатилось и пошла типичная подмена понятий.
DDD != архитектура, DDD не учит писать поддерживаемый с технической точки зрения код.

И техническая сложность никуда не пропадёт, если фокусироваться лишь на естественной сложности доменной области, к тому же на ней сфокусироваться вряд ли получится, пока есть проблемы с технической стороны.
А автор, именно что, пытается уменшать сложность техническую через DDD, ничего дельного из этого не выйдет.

Под видом DDD делать агрегаты и сущности data-классами(то есть анемичную модель) — серьёзно?

Здесь мы указываем задачу взять в пакете services класс, поместить в него три mappers, проинициализировать объект Stories и отдать нам.

Я правильно понимаю, что по мнению автора, это понятная для менеджеров без технической экспертизы фраза(единый язык)?
Sign up to leave a comment.