Как заставить код работать правильно


Чем длиннее метод, тем больше в нём выполняется действий, которые переплетаются между собой. Результат вычислений одного куска метода подаётся на вход другого куска. Самостоятельные действия вплетены друг в друга — становится не просто непонятно, где каждое действие начинается и где заканчивается, а и вообще, как отделить одно действие от другого. Возникают адски вложенные друг в друга циклы и условия. Появляются жирные SQL-запросы, которые тяжело отлаживать.

В длинном методе исполнение кода может пойти по многим путям из-за изобилия циклов и ветвлений. Невозможно держать все пути в памяти одновременно при анализе алгоритма. Каждый путь зависит от массы условий, которые хаотично разбросаны по всему методу.

Отладка длинных методов — это всегда ад: баги появляются из ниоткуда и с трудом поддаются даже отлову, не то что исправлению.

Единственный разумный выход: писать методы минимальной длины. Когда метод содержит несколько простых операций, его логика кристально ясна, а верификация не представляет трудностей. Однако, метод должен быть осмысленным, а не просто произвольно нарезанным из исходной простыни.

Что дальше