Лично я не боюсь длинных методов, пока человек, пишущий их, пишет их хорошо (каждый фрагмент подзадачи разделен 2 новыми строками и хорошим комментарием, предшествующим этому, и т. Д. Кроме того, идентификация очень важна.) ,
Фактически, много раз я даже предпочитаю их (например, при написании кода, который делает вещи в определенном порядке с последовательной логикой).
Кроме того, я действительно не понимаю, почему разбиение длинного метода на 100 частей улучшит читабельность (как полагают другие). Только наоборот. В конечном итоге вы будете просто перепрыгивать повсюду и удерживать фрагменты кода в своей памяти, чтобы получить полную картину того, что происходит в вашем коде. Объедините это с возможным отсутствием комментариев, неправильных имен функций, множества похожих имен функций, и вы получите идеальный рецепт хаоса.
Кроме того, вы можете пойти другим путем, пытаясь уменьшить размер методов: создать МНОГИЕ классы и МНОГИЕ функции, каждая из которых может принимать МНОГИЕ параметры. Я не думаю, что это также улучшает читабельность (особенно для начинающего проекта, который не имеет ни малейшего представления о том, что делает каждый класс / метод).
И требование, чтобы «функция выполняла« одну вещь »», очень субъективно. «Одной вещью» может быть увеличение переменной на единицу до выполнения тонны работы, предположительно для «той же самой вещи».
Мое правило - только повторное использование:
Один и тот же код не должен появляться много раз во многих местах. Если это так, вам нужна новая функция.
Все остальное - просто философские разговоры.
На вопрос «почему вы делаете ваши методы такими большими», я отвечаю: «Почему нет, если код простой?».
(только мое мнение - проголосуйте, сколько хотите)