¿Cuál es el tamaño correcto, realmente?
Depende del idioma que use, pero en general (y para mi gusto personal):
- Idealmente , menos de 25 líneas.
- Aceptablemente , menos de 35 líneas.
Si es más, entonces es algo a lo que necesito volver más tarde y volver a trabajar.
Pero de manera realista , cualquier tamaño que deba ser cuando necesite entregar algo y que tenga más sentido en el momento de escupirlo de esa manera, hace que a veces sea aún más fácil que alguien lo revise antes del envío. (pero aún así vuelvo más tarde).
(Recientemente, mi equipo ejecutó un programa en nuestra base de código: encontramos clases con 197 métodos y otro con solo 3 métodos, pero uno de ellos tenía 600 líneas. Juego lindo: ¿cuál es el peor de los 2 males?)
Ahora para una respuesta más zen ... En general, se considera una buena práctica (TM) citar a uno o dos grandes hombres, así que aquí va:
Todo debe hacerse lo más simple posible, pero no más simple. - A. Einstein
La perfección finalmente se alcanza no cuando ya no hay nada que agregar, sino cuando ya no hay nada que quitar. - A. de Saint Exupéry
Anexo sobre estilos de comentarios
Como anexo a esto, sus funciones deben tener nombres claros que expliquen su intención. Con respecto a los comentarios, generalmente no hago comentarios dentro de una función:
- los comentarios dicen "¿por qué?" ,
- el código dice "¿cómo?" .
Un bloque de comentarios en la parte superior de cada función (que requiere explicación) es suficiente. Si su función es pequeña y los nombres de las funciones son lo suficientemente explícitos, entonces solo debe decir qué quiere lograr y por qué. Utilizo comentarios en línea solo para los campos en algunos idiomas o en los inicios de bloque para funciones que rompen esas reglas de línea 25-35 si la intención no está clara. Utilizo un comentario de bloque dentro del código cuando se produce una situación excepcional (un bloque de captura donde no necesita o no desea hacer nada debería tener un comentario que diga por qué, por ejemplo).
Para obtener más información, lea mi respuesta sobre Estilo y recomendaciones de código de comentarios