Size: a a a

Software Design/Architecture/Zen

2020 September 26

МФ

Максим Федоров... in Software Design/Architecture/Zen
Nikita Fedorov
нужен отдельный чел который умеет это делать и занимается только этим несколько лет
Как и отдельный чел на написание тестов? :)
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Максим Федоров
Как и отдельный чел на написание тестов? :)
не, это же тривиально)
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Aleh Kashnikau
Но количество изменений легко трекать...
Да но там надо динамику смотреть..
источник

AK

Aleh Kashnikau in Software Design/Architecture/Zen
Sergey Protko
Да но там надо динамику смотреть..
А где не надо?
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Sergey Protko
потому что плохая идея «поддерживаемость» мерять строками. На поддерживаемость влияют вполне понятные практики вроде стабильности и количества зависимостей. А как код организован не столь важно. «клади то что меняется вместе рядом, то что не должно меняться вместе - отдельно». Стабильность можно по гиту трекать. Много трогают файлик - не стабильно. Если нестабильно и от этой штуки много кто зависит - значит выше шанс сломать вещи.

Людям просто удобно дрочить на вещи которые легко померять чиселком и которые можно мерять в статике без учета истории изменений
цикломатической сложностью - хорошая
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
потому что настрогал чел лапшу на 300 строк ифов траев вайлов и прочей лабуды без задней мысли , ушёл, задача которую оно решало забылась и все, потом это невозможно прочитать.
источник

ВУ

Валентин Удальцов... in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
О, сумел пояснить Zen)
он этот Zen тут поясняет несколько лет...
за что ему спасибо. жаль, что доходит не с первого раза)
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
10 методов по 35 строк проще прочитать чем лапшу на 300 строк
источник
2020 September 27

SP

Sergey Protko in Software Design/Architecture/Zen
Apache DOG™
10 методов по 35 строк проще прочитать чем лапшу на 300 строк
Не всегда)
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Sergey Protko
Не всегда)
Почти всегда
источник

ВУ

Валентин Удальцов... in Software Design/Architecture/Zen
ну если эти 300 строк надо раз в год читать, я согласен на такие 300 строк)
обычно это какой-то инфраструктурный код. парсер, например
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Валентин Удальцов
ну если эти 300 строк надо раз в год читать, я согласен на такие 300 строк)
обычно это какой-то инфраструктурный код. парсер, например
А потом тасочка затрагивающая изменения этого метода ещё полгода плодит гейзенбаги
источник

ВУ

Валентин Удальцов... in Software Design/Architecture/Zen
Apache DOG™
А потом тасочка затрагивающая изменения этого метода ещё полгода плодит гейзенбаги
это другой разговор. 300 строк можно тоже по-разному написать и по-разному покрыть тестами.
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Валентин Удальцов
это другой разговор. 300 строк можно тоже по-разному написать и по-разному покрыть тестами.
Пишут обычно как легче и быстрее
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
Т.е. как попало
источник

AD

Apache DOG™ in Software Design/Architecture/Zen
В большинстве языков хорошо написать намного сложнее чем плохо
источник

ch

central hardware in Software Design/Architecture/Zen
Написать это наименьшая проблема, не так? Проблема в том чтобы потом поддерживать код
источник

DK

Daniil Kostin in Software Design/Architecture/Zen
Валентин Удальцов
ну если эти 300 строк надо раз в год читать, я согласен на такие 300 строк)
обычно это какой-то инфраструктурный код. парсер, например
Да все время больше 300 строк. Взять тот же Android любая внутренняя фича от 10к строк и с непривычки там черт ногу сломи что к чему.
Хороший код появляется при код ревью и когда проснулся и "кто такое мог написать?", и просто исправил, а не пол дня ищу этого того, кем оказываюсь я.
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Добрый день. Изучаю сейчас DDD Эванса. Помогите разобраться в чем отличие трансляционного и предохранительного уровней.

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

SP

Sergey Protko in Software Design/Architecture/Zen
Сергей Предводителев
Добрый день. Изучаю сейчас DDD Эванса. Помогите разобраться в чем отличие трансляционного и предохранительного уровней.

Понятно что, предохранительный - это более прокачанный трансляционный. Но в чем отличие, не пойму.
anticorruption layer просто частный случай translation layer. Если упрощенно - адаптеры.

Основная идея в том что бы бизнес логика не зависела от инфраструктуры. Простое следствие идеи разделения ответственности и прочих SRP (что бы штуки которые должны меняться по разным причинам лежали отдельно друг от друга).

В целом в этом контексте DDD это все вторично и просто "показать как можно отделить", проще будет там про гексагональную архитектуру почитать (ports/adapters).

Основные тезисы с которыми реально надо разбираться у Эванса в целом в начале книги (там где про моделирование, детали и т.д.) + понятие identity + понятие bounded context. Это важно. Примеры и паттерны которые Эванс предлагает - это уже вторично. Как минимум потому что и без DDD все примерно это предлагают в свлих "чистых луковых и гексагональных" архитектурах, ну и как максимум что странно рассуждать о DDD (как методология исследования и соединения problem и solution space, переработка знаний, общение с бизнесом) как о технических паттернах.

Да есть "тактическое DDD" (тот еще булшит) которое можно трактовать с позиции проектирования распределенных систем
источник