Разработчикам довольно часто хочется переписать легаси-проект по красоте. Неизменно возникает вопрос: а «по красоте» — это как? Для ответа на этот вопрос прибегают к помощи широко известных подходов «Чистая Архитектура», «Гексагональная Архитектура» и «Предметно Ориентированное Проектирование (DDD)».
Но так ли просто переписать проект, следуя этим подходам на Go? Как язык может в этом помочь и как он может мешать? А, возможно, Go не так уж хорош для реализации сервисов с чистой архитектурой и DDD, а Rust, несмотря на свою «низкоуровневую природу», наоборот, подходит лучше?
С этими вопросами мы постараемся разобраться на докладе с высоты нашего практического опыта рефакторинга сервиса на Go.