Следует ли делать полный рефактор проекта время от времени?
Если мы не говорим о бизнесе, то ответ очевиден. Да, конечно же надо, поскольку кодовая база всегда расширяется, а вот архитектура приложения - не всегда рассчитана на такое. Да и просто со временем, скапливается легаси - что плохо сказывается как на понятности кодбазы, что ещё сильнее мешает новым разработчикам влиться в процесс разработки.
Да и в целом, это довольно хорошая практика с той точки зрения, что во время полного рефактора уже набиты шишки, которых при переписывании проекта уже либо не будет, либо будет куда меньше (не забываем, что иногда приходится держать баланс между исправлением шишек и обратной совместимостью). Также можно и корректировать архитектуру, внося новые детали, которые позволят в меньшей степени требовать рефактора.
Однако, такие решения хороши для относительно небольших проектов. С монструозными проектами с сотнями тысяч строк кода, это будет не то, что затруднительно - это будет слишком дорого. Стоит понимать, когда есть целесообразность переписывать код, а когда - лучше либо частями это делать, либо вовсе свыкнуться с легаси, лишь попытавшись немного облегчить ситуацию.
И напомню, что речь не идёт о бизнесе. По крайней мере, о практически всём бизнесе. Бывают исключения, когда приложение прямо таки требует переписывания, однако, они не настолько частые, а в условиях не особо крупных компаний - предпочтут тащить на горбу этот сломанный-поломанный кусок программного обеспечения. Как никак, бизнес - это про говнокод, у которого есть лишь одно предназначение: работать, любым образом.
Вывод: рефактор - вещь хорошая, и даже нужная, однако не всегда имеет целесообразность.
Post #26
76