Aquí hay muchas respuestas que abordan los pros y los contras técnicos de mantener baja la LOC y si es o no una métrica de software de calidad significativa. De eso no se trata esta pregunta. De lo que se trata es de cómo tratar con la administración que insiste en una adhesión dogmática ingenua a una regla general de codificación particular.
Lamentablemente, es bastante común que las personas se aferren a cosas que son un buen consejo cuando se usan en el contexto adecuado y se aplican de manera pragmática, sacarlas de ese contexto y aplicarlas dogmáticamente sin poder apreciar los problemas que el consejo existe para mitigar en primer lugar .
La intención del consejo sobre mantener baja la LOC es evitar la creación de métodos que intenten hacer demasiado de una vez y desalentar la creación de "clases de dios", que saben demasiado sobre aspectos de un diseño que no son suyos. responsabilidad directa y de la que dependen todas las demás clases del sistema. Otra ventaja del código más corto es que es más legible, aunque, como lo ha señalado, puede exagerar hasta el punto en que la legibilidad realmente comience a sufrir.
Existen ventajas obvias en los recuentos bajos de LOC (los métodos pequeños se ajustan a su cabeza más fácilmente que los grandes, menos cosas en el código significan menos cosas que salgan mal, etc.), pero también está sujeto a la ley de rendimientos decrecientes. Refactorizar un método de 150 líneas en varios métodos de 20 líneas es una ganancia mucho mayor que refactorizar un método de 10 líneas en un método de 7 líneas.
Cuando dicha refactorización se produce a expensas de alguna otra faceta del buen diseño de software (como la legibilidad), ha llegado a un punto en el que puede justificar no hacerlo. Eliminar las variables que dan contexto a lo que significa el código y reemplazarlas con literales que no lo hacen es algo muy malo. Un buen código casi no tiene literales. Sin embargo, estas variables (y constantes con nombre) son líneas de código que no contribuyen directamente al programa y, por lo tanto, si se adora a LOC como una especie de dios, entonces estas líneas de aclaración están en grave peligro de ser podadas para una victoria rápida y algunos elogios equivocados de la gerencia.
Creo que eres lo suficientemente inteligente como para darte cuenta de esto, de hecho, ese es prácticamente el objetivo de tu pregunta original. El problema no es su comprensión de cuándo la reducción de código es buena y cuándo no lo es, el problema es el dogmatismo en la aplicación indiscriminada de lo que normalmente es una práctica razonable.
Recomendaría tomarse el tiempo para conversar con su gerencia, explicar su posición y por qué siente que lo que se le pide que haga dañe el código en lugar de ayudarlo. Trate de evitar ser confrontativo, pero trate de permanecer racional y tranquilo durante esa discusión. Es importante que su gerencia comprenda que la programación es una actividad pragmática, y los consejos de mejores prácticas solo son útiles si se aplican de manera pragmática. Las mejores prácticas están escritas en un libro, no talladas en piedra, y cuando entran en conflicto (código corto versus código legible), entonces depende del programador aplicar su juicio sobre qué mejor práctica seguir. Esperemos que sean personas razonables que aprecian aportes como este.
También debe ser un poco valiente, porque si está siendo presionado para reducir la LOC donde cree que es innecesario o inapropiado, entonces es natural que haga el cambio de todos modos por el bien de una vida tranquila. Debe resistirse a hacer esto, y debe "apropiarse" de esa decisión. En una situación en la que la gestión es razonable, no debería tener que adherirse exactamente a sus directrices, pero debería ser capaz de justificar cualquier circunstancia en la que no lo haga.
Lamentablemente, las personas pueden ser irracionales, especialmente cuando se trata de personas con un nivel jerárquico cuestionando sus decisiones y las reglas que le han impuesto. Pueden elegir no ser razonables. Necesitas estar preparado para eso también. Si puede demostrar casos en los que la mejor práctica de LOC entra en conflicto directo con otras mejores prácticas y por qué eso está dañando el producto, y si puede hacerlo en partes de la base del código en las que tuvieron poca o ninguna participación personal (por lo que no no parece un ataque personal a su trabajo o al trabajo que supervisaron), entonces esto puede ayudar a reforzar su argumento. Una vez más, debe estar preparado para justificarse de manera calmada y racional y ser capaz de "apropiarse" de los argumentos que está formulando.
Siempre que su gerencia sea gente razonable, deben apreciar que lo que usted dice tiene mérito si puede proporcionar evidencia para respaldar sus reclamos.
s/\n/ /g
) no significa que vaya a ser aún legible remotamente