C'est généralement une mauvaise idée d'appeler votre patron un idiot, donc mes suggestions commencent par comprendre et discuter des mesures, plutôt que de les rejeter.
Certaines personnes qui ne sont pas réellement considérées comme des idiots ont utilisé des mesures basées sur des lignes de code. Fred Brooks, Barry Boehm, Capers Jones, Watts Humphries, Michael Fagan et Steve McConnell les ont tous utilisés. Vous les avez probablement utilisés même si juste pour dire à un collègue, ce module God est de 4000 lignes, il doit être divisé en classes plus petites.
Il existe des données spécifiques liées à cette question provenant d'une source que beaucoup d'entre nous respectent.
http://www.codinghorror.com/blog/2006/07/diseconomies-of-scale-and-lines-of-code.html
http://www.codinghorror.com/blog/2005/08/are-all-programming-languages-the-same.html
http://discuss.joelonsoftware.com/default.asp?joel.3.286106.22
Je soupçonne que la meilleure utilisation de la ligne de code par heure de programmation est de montrer que pendant la durée de vie du projet, cette valeur commencera assez haut, mais comme des défauts sont détectés et corrigés, de nouvelles lignes de code seront ajoutées pour résoudre les problèmes qui ne faisaient pas partie des estimations originales, et des lignes de code supprimées pour éliminer la duplication et améliorer l'efficacité montreront que LOC / h indique autre chose que la productivité.
- Lorsque le code est écrit rapidement, bâclé, gonflé et sans aucune tentative de refactorisation, l'efficacité apparente sera à son maximum. La morale ici sera que vous devez faire attention à ce que vous mesurez.
- Pour un développeur particulier, s'il ajoute ou touche une grande quantité de code cette semaine, la semaine prochaine, il pourrait y avoir une dette technique à payer en termes de révision, de test, de débogage et de retravaillage de code.
- Certains développeurs travailleront à un taux de sortie plus cohérent que d'autres. On peut constater qu'ils passent le plus de temps à obtenir de bonnes histoires d'utilisateurs, se retournent très rapidement et effectuent des tests unitaires correspondants, puis se retournent et créent rapidement du code qui se concentre uniquement sur les histoires d'utilisateurs. Le retentissement ici est que les développeurs méthodiques auront probablement un tour rapide, écriront du code compact et auront peu de retouches car ils comprennent très bien le problème et la solution avant de commencer à coder. Il semble raisonnable qu'ils codent moins car ils ne codent qu'après avoir réfléchi, plutôt qu'avant et après.
- Lorsque le code est évalué pour sa densité de défauts, il se révèle être moins qu'uniforme. Certains codes expliqueront la plupart des problèmes et des défauts. Il sera candidat à la réécriture. Lorsque cela se produit, il deviendra le code le plus cher car en raison de son haut degré de retravail. Il aura le plus grand nombre brut de lignes de code (ajoutées, supprimées, modifiées, comme cela pourrait être signalé par un outil comme CVS ou SVN), mais les lignes de code nettes par heure investies les plus faibles. Cela peut finir par être une combinaison du code implémentant le problème le plus complexe ou la solution la plus compliquée.
Quelle que soit l'issue du débat sur la productivité des programmeurs dans les lignes de code, vous constaterez que vous avez besoin de plus de main-d'œuvre que vous ne pouvez vous le permettre et que le système ne sera jamais terminé à temps. Vos vrais outils ne sont pas des métriques. Ils utilisent une méthodologie supérieure, les meilleurs développeurs que vous pouvez embaucher ou former, et le contrôle de la portée et des risques (probablement avec des méthodes Agiles).