Aqui existem muitas respostas que abordam os prós e contras técnicos de manter o LOC em baixa e se é uma métrica de software de qualidade significativa. Não é disso que se trata esta questão. O que se trata é como lidar com a gerência que insiste em uma aderência dogmática ingênua a uma regra de codificação específica.
Infelizmente, é bastante comum as pessoas se prenderem a coisas que são boas recomendações quando usadas no contexto apropriado e aplicadas de forma pragmática, tiram-nas desse contexto e as aplicam dogmaticamente enquanto não apreciam os problemas que as orientações existem para atenuar em primeiro lugar .
A intenção do conselho em manter o LOC baixo é evitar a criação de métodos que tentam fazer demais de uma só vez e desencorajar a criação de "classes divinas", que sabem muito sobre aspectos de um design que não são seus. responsabilidade direta e da qual todas as outras classes do sistema dependem. Outra vantagem do código mais curto é que ele é mais legível, embora, como você apontou, você possa exagerar até o ponto em que a legibilidade realmente começa a sofrer.
Existem vantagens óbvias nas contagens baixas de LOC (métodos pequenos cabem na sua cabeça com mais facilidade do que os grandes, menos coisas no código significam menos coisas para dar errado etc.), mas também estão sujeitas à lei dos retornos decrescentes. Refatorar um método de 150 linhas em vários métodos de 20 linhas é uma vitória muito maior do que refatorar um método de 10 linhas em um método de 7 linhas.
Quando essa refatoração ocorre às custas de outras facetas do bom design de software (como legibilidade), você chega a um ponto em que pode justificar não fazê-lo. Remover variáveis que dão contexto ao que o código significa e substituí-las por literais que não o fazem é uma coisa muito muito ruim a se fazer. Bom código quase não tem literais. No entanto, essas variáveis (e constantes nomeadas) são linhas de código que não contribuem diretamente para o programa e, portanto, se o LOC está sendo adorado como algum tipo de deus, essas linhas de esclarecimento correm grande risco de serem podadas para uma rápida vitória e alguns elogios equivocados da administração.
Acredito que você é inteligente o suficiente para perceber isso, na verdade esse é basicamente o impulso da sua pergunta original. O problema não é o seu entendimento de quando a redução de código é boa e, quando não é, o problema é o dogmatismo ao aplicar o que normalmente é uma prática razoável indiscriminadamente.
Eu recomendaria reservar um tempo para conversar com sua gerência, explicando sua posição e por que você acha que o que está sendo solicitado a fazer prejudica o código, em vez de ajudá-lo. Tente evitar ser confrontador, mas tente permanecer racional e calmo durante essa discussão. É importante que sua gerência entenda que a programação é uma atividade pragmática, e o aconselhamento de melhores práticas só será útil se for aplicado de maneira pragmática. A melhor prática é escrita em um livro, não gravada em pedra, e quando ela entra em conflito (código curto versus código legível), cabe ao programador aplicar seu julgamento sobre qual a melhor prática a seguir. Espero que sejam pessoas razoáveis que apreciem contribuições como essa.
Você também precisa ser um pouco corajoso, porque se você está sendo pressionado a reduzir o LOC, onde acha desnecessário ou inapropriado, é natural que você faça a alteração de qualquer maneira por uma vida tranquila. Você precisa resistir a fazer isso e precisa "tomar posse" dessa decisão. Em uma situação em que a administração é razoável, você não precisa seguir exatamente as diretrizes, mas deve justificar as circunstâncias em que não o faz.
Infelizmente, as pessoas podem ser irracionais, especialmente quando se trata de pessoas com menos hierarquia questionando suas decisões e as regras que elas impuseram a você. Eles podem optar por não ser razoáveis. Você precisa estar preparado para isso também. Se você pode demonstrar casos em que a melhor prática do LOC entra em conflito direto com outras práticas recomendadas e por que isso está prejudicando o produto, e se você pode fazê-lo em partes da base de código para as quais eles tiveram pouco ou nenhum envolvimento pessoal (por isso não parece um ataque pessoal ao trabalho deles ou ao trabalho que eles supervisionaram); isso pode ajudar a reforçar seu argumento. Novamente, você deve estar preparado para justificar-se de uma maneira calma e racional e ser capaz de "possuir" os argumentos que está fazendo.
Desde que sua gerência seja uma pessoa razoável, eles devem entender que o que você está dizendo tem mérito se você puder fornecer evidências para apoiar suas reivindicações.
s/\n/ /g
), isso não significa que vai ser mesmo remotamente legível