В этом году мы отмечаем 11-летие «Мира кораблей». Но это только 11 лет в релизе, а первый коммит в репозиторий был сделан 21 апреля 2011 года — 15 лет назад. Всё это время кодовая база росла, менялась и усложнялась. В этой статье мы поделимся правилами и принципами, которыми мы руководствуемся, чтобы поддерживать и развивать кодовую базу на такой длинной дистанции.
Автор — программист клиентской логики, поэтому большая часть сказанного относится к клиенту и UI, у других команд «Мира кораблей» могут быть свои подходы. Изложенные здесь правила не всегда универсальны, но это то, что на протяжении многих лет спасает нас от скатывания в неподдерживаемое легаси.
Главный принцип — целесообразность
На собеседованиях я часто интересуюсь, какой код кандидаты считают хорошим. Отвечают разное: «легко читаемый», «структурированный», «расширяемый» и т.п. Это хорошие ответы, но лично я считаю, что хороший код — это, в первую очередь, целесообразный код. То есть решение, которое максимально соответствует своей задаче.