Il existe de nombreuses réponses ici qui traitent des avantages et des inconvénients techniques de la réduction du niveau de la LOC et de la question de savoir s’il s’agit ou non d’un indicateur de qualité du logiciel. Ce n'est pas ce que cette question est à propos. Il s’agit de savoir comment traiter avec une direction qui exige une adhésion dogmatique naïve à une règle empirique de codage particulière.
Malheureusement, il est assez courant pour les gens de s’approprier des sujets qui sont de bons conseils s’ils sont utilisés dans le contexte approprié et appliqués de manière pragmatique, sortez-les de ce contexte et appliquez-les dogmatiquement sans négliger les problèmes qu’il existe au départ pour atténuer ces problèmes. .
L’objectif du conseil concernant la réduction de la LDC est d’éviter la création de méthodes qui tentent d’en faire trop, et de décourager la création de "classes divines", qui en savent trop sur les aspects d’un dessin qui ne sont pas leur conception. responsabilité directe et dont dépendent toutes les autres classes du système. Un autre avantage du code plus court est qu’il est plus lisible, même si, comme vous l’avez indiqué, vous pouvez en faire trop au point que la lisibilité commence à en souffrir.
Un faible nombre de lettres LOC présente des avantages évidents (les petites méthodes vous tiennent plus à l’esprit que les grandes, moins le code contient moins de problèmes, etc.), mais il est également soumis à la loi des rendements décroissants. Refactoriser une méthode de 150 lignes en un certain nombre de méthodes de 20 lignes est un gain beaucoup plus important que de refactoriser une méthode de 10 lignes en une méthode de 7 lignes.
Lorsque cette refactorisation se fait au détriment d'une autre facette d'une bonne conception logicielle (telle que la lisibilité), vous avez alors atteint un point où vous pouvez justifier de ne pas le faire. Supprimer des variables qui donnent un contexte à la signification du code et les remplacer par des littéraux qui ne le font pas est une très très mauvaise chose à faire. Un bon code n'a presque pas de littéraux. Cependant, ces variables (et les constantes nommées) sont des lignes de code qui ne contribuent pas directement au programme. Ainsi, si LOC est vénéré comme une sorte de dieu, de telles lignes de clarification risquent fort de faire l’objet d’une élimination rapide et gagnante. des éloges erronés de la part de la direction.
Je pense que vous êtes assez intelligent pour comprendre cela. En fait, c'est en gros le sens de votre question initiale. Le problème ne réside pas dans votre compréhension du moment où la réduction du code est bonne et, dans le cas contraire, le dogmatisme consistant à appliquer ce qui est normalement une pratique raisonnable sans discernement.
Je recommanderais de prendre le temps de discuter avec votre direction, d'expliquer votre position et pourquoi vous pensez que ce que l'on vous demande de faire nuit au code plutôt qu'à l'aider. Essayez d’éviter la confrontation, mais essayez de rester rationnel et calme pendant une telle discussion. Il est important que votre direction comprenne que la programmation est une activité pragmatique et que les meilleures pratiques ne sont utiles que si elles sont appliquées de manière pragmatique. La meilleure pratique est écrite dans un livre, non gravé dans la pierre, et en cas de conflit (code court par rapport à un code lisible), il appartient au programmeur d’exprimer son jugement quant à la meilleure pratique à suivre. Espérons que ce sont des personnes raisonnables qui apprécient une telle contribution.
Vous devez également être un peu courageux, car si des pressions sont exercées sur vous pour réduire le niveau de la possession lorsque vous pensez que cela est inutile ou inapproprié, il est tout à fait naturel que vous apportiez ce changement pour une vie tranquille. Vous devez résister à cela, et vous devez "posséder" cette décision. Dans une situation où la direction est raisonnable, vous ne devriez pas être obligé de respecter ses directives à la lettre, mais vous devriez pouvoir justifier des circonstances dans lesquelles vous ne le faites pas.
Malheureusement, les gens peuvent être irrationnels, en particulier quand il s'agit de gens moins scrupuleux qui remettent en question leurs décisions et les règles qu'ils vous ont imposées. Ils peuvent choisir de ne pas être raisonnables. Vous devez être préparé pour cela aussi. Si vous pouvez démontrer des cas où la meilleure pratique de la LOC entre en conflit direct avec d’autres, expliquez pourquoi cela nuit au produit et si vous pouvez le faire dans des parties de la base de code pour lesquelles ils n’ont que peu ou pas ne semble pas être une attaque personnelle contre leur travail ou le travail qu’ils ont supervisé), cela peut aider à renforcer votre argumentation. Encore une fois, vous devez être prêt à vous justifier de manière calme et rationnelle et à "posséder" les arguments que vous avancez.
Si vos dirigeants sont des personnes raisonnables, ils doivent comprendre que ce que vous dites est valable si vous pouvez fournir des preuves pour étayer vos revendications.
s/\n/ /g
) cela ne signifie pas qu'il sera même lisible à distance