Накатал статью про архитектуру приложений и про подходы в нашей команде.
Но, честно говоря, я ей не очень доволен. Кажется, что статья вообще проходная, потому что я сам просто не уверен, что это сильно важно. Я вижу, как люди спорят об этом и пишут книги, но я не вижу исследований, которые бы подтвердили, что гексагональная архитектура - топ, а без DDD мы все обречены.
Я испытываю раздражение от плохой структуры приложений, мне тяжело читать кривой код. Еще тяжелее его изменять, когда потрогал в одном месте, а, оказывается, надо еще вот в двадцати других. И можно было бы сказать, что это раздражение - вот он признак плохого кода, вот причина все эти идеи использовать.
Но я не раз видел, как людей раздражают вещи, которые я считаю хорошим кодом: люди злятся на маленькие методы по 3 строчки, на n^2 при обходе десятка объектов, на логику в доменных классах и сложные полиморфные иерархии классов вместо обычного процедурного спагетти. Более того, я не раз видел, как людей сначала раздражало одно, а через пару лет ровно противоположное.
Конечно, я уже не перестану верить в эти идеи, я видел, как они работают, своими глазами. Но абсолютно точно, я всегда буду рекомендовать всем сосредоточиться в первую очередь на том, что надежно работает: хорошая культура в организации, Continuous Delivery, слабосвязанная архитектура и автоматическое тестирование. А DDD всякие - да, круто, конечно, но лучше обратите внимание на тесты. Они - ваш залог того, что вы точно сможете к этому DDD прийти в любой момент.
Post #19
1.09K
- ❤ 18
- 👍 5