LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

Можно, но у вас сложность кода будет выше.

Ну-ну.

Функции будут иметь больше аргументов, чем если их отрефакторить в классы с методами.

Количество аргументов — это ещё не сложность, это только полсложности. Особенно если функции чистые — всё известно статически, без запуска программы на реальном вычислителе или моделирования её поведения в голове. Вот аргументы, если они такие — всегда то, если этакие — всегда это. Понятно даже котику.

А вот при изучении методов класса тебе как раз и придётся хапнуть сложности настоящей — чтобы понять, как это всё работает, нужно держать в голове состояние, с которым методы работают, и правильно моделировать его изменения во времени. Причём зачастую определённое не в одном месте, а размазанное по иерархии классов, иногда даже в разных библиотеках.

А ещё методы одного класса могут вызывать методы других классов — и изменения в их состоянии тебе придётся учитывать тоже. Чуешь простоту несказанную? %)

Исходная версия Nervous, :

Можно, но у вас сложность кода будет выше.

Ну-ну.

Функции будут иметь больше аргументов, чем если их отрефакторить в классы с методами.

Количество аргументов — это ещё не сложность, это только полсложности. Особенно если функции чистые — всё известно статически, без запуска программы на реальном вычислителе или моделирования её поведения в голове.

А вот при изучении методов класса тебе как раз и придётся хапнуть сложности настоящей — чтобы понять, как это всё работает, нужно держать в голове состояние, с которым методы работают, и правильно моделировать его изменения во времени. Причём зачастую определённое не в одном месте, а размазанное по иерархии классов, иногда даже в разных библиотеках.

А ещё методы одного класса могут вызывать методы других классов — и изменения в их состоянии тебе придётся учитывать тоже. Чуешь простоту несказанную? %)