Hay un grano de verdad en ese consejo, pero en mi humilde opinión, no está muy bien expresado, por lo que es fácil de malinterpretar y / o llevar a un extremo estúpido. En cualquier caso, esto debería ser una regla general, más que una ley estricta. Y siempre debe implicar en tales reglas la cláusula "dentro de límites razonables" o "pero no olvide usar su sentido común" :-)
El grano de la verdad es que, en la práctica, las clases y los métodos siempre tienden a crecer por naturaleza, no a reducirse . Una corrección de errores aquí, una pequeña extensión de funciones allí, manejar un caso especial allí ... y listo, tu clase, una vez ordenada y pequeña, comienza a hincharse. Con el tiempo, su código casi inevitablemente tiende a convertirse en un monstruoso desastre de espagueti, a menos que luche activamente contra esta tendencia mediante la refactorización . La refactorización casi siempre produce muchas clases / métodos más pequeños a partir de unos pocos grandes. Pero, por supuesto, hay un límite razonable para la miniaturización. El objetivo de la refactorización no es tener clases y métodos más pequeños per se, sino hacer que su código sea más limpio, más fácil de entender y mantener. En cierto punto, hacer que sus métodos / clases sean más pequeños comienza a disminuir la legibilidad, en lugar de aumentarla. Apunte hacia ese óptimo. Es un área objetivo borrosa y en movimiento, por lo que no es necesario golpearla. Simplemente mejore un poco el código cada vez que note algún problema con él .
"As small as possible, but no smaller."