A veces, las funciones de acción en la clase de controlador pueden volverse enormes y desagradables, con muchas líneas de código para controlar simplemente el flujo de datos del Modelo a la Vista. En algún momento, estas enormes funciones pierden por completo los principios básicos del buen código, es decir, solo hacen una cosa, son pequeñas, legibles y manejables, etc.
¿Se consideraría una buena práctica dividir estas enormes funciones de acción en funciones privadas más pequeñas en la clase de controlador o la necesidad de dicha optimización significa que deberíamos agregarlas en el modelo?
Votaría por tener las funciones más pequeñas como privadas en el controlador para que sean relativas a la acción, pero he escuchado argumentos de que el controlador debería ser preferiblemente simple mientras el modelo puede volverse enorme y desgreñado; y me preguntaba cuál sería el método más preferido.