Из книги Роберта Мартина, «Идеальный программист. Как стать профессионалом разработки ПО».
Чтобы понять, во что вы по-настоящему верите, понаблюдайте за собой в кризисной ситуации. Если во время кризиса вы не отклоняетесь от своих рабочих методов, значит вы действительно убеждены в их эффективности.
Если вы следуете методологии разработки через тестирование (TDD) в обычное время, но отказываетесь от нее во время кризиса, значит вы не верите в полезность TDD. Если ваш код остается чистым в обычное время, а в кризис вы разводите в нем грязь, значит вы не верите, что
грязь замедляет вашу работу. Если вы используете парное программирование во время кризиса, но не в обычной ситуации, значит вы полагаете, что парное программирование эффективнее индивидуального.
Выберите те методы, с которыми вы комфортно ощущаете себя в кризисной ситуации. А потом используйте их постоянно. Использование этих методов — лучший способ избежать кризиса.
Не изменяйте свое поведение в напряженной ситуации. Если ваши методы действительно оптимальны, то они должны соблюдаться даже в самые тяжелые времена.
Остается только наработать те самые методы, и со временем качество перерастет в эффективность, и не нужно будет х2 к времени что бы тесты писать и тд.
Питання безпеки не затронуто.
Теж свої pros and cons.
Але сходу — моноліт за замовчуванням буде мати доступ до всіх даних, тож простий sql injection в якійсь не дуже секьюрній частині монолітну дає доступ до всієї бази, в той час в якомусь не великому сервісі бласт ураження буде дорівнювати правам того сервіса.
Але я згоден що це може вірішати як і в моноліті так і напартиачити в серавсній архітектурі, але замовчування всеж на користь ізоляції. Та і вирішуваня на рівні монолітну поступово почне штовхати рівень складності монолітну до сервісів.