129 votes

Mythical man month 10 lignes par jour développeur - faire proche sur de grands projets?

Tout le monde a toujours dit qu'ils peuvent battre les "10 lignes par développeur de, par jour" à partir du "mythical Man Month", et le démarrage d'un projet, je peux habituellement obtenir quelques centaines de lignes dans une journée.

Mais à mon ancien employeur, tous les développeurs ont été très forte, mais c'était un grand projet, plus d'un million de lignes de code, avec de très lourdes exigences en matière de certification, et de l'interfaçage avec d'autres de plusieurs millions de ligne de projets. À un certain point, comme un exercice de la curiosité, j'ai tracé des lignes de code dans l'expédition de produits dans mon groupe (sans compter les outils que nous avons développé), et bien sûr, petit à petit, il est venu autour de 12 lignes nettes ajouter par développeur par jour. Sans compter les modifications, le code de test, ou le fait que les développeurs n'étaient pas en train de travailler sur le projet de code tous les jours.

Comment sont les autres personnes en train de faire? Et ce genre d'exigences, faites-vous face (j'imagine que son facteur)?

108voto

Charles Bailey Points 244082

Sur un de mes projets en cours, dans certains modules, je suis fier d'avoir contribué négatif d'un nombre de lignes de la base de code. Identifier les zones de code ont grandi inutile complexité et peut être simplifiée grâce à une plus propre et plus claire de la conception est une compétence utile.

Bien sûr, certains problèmes sont intrinsèquement complexes et des solutions complexes, mais sur la plupart des grands projets de zones qui ont eu du mal définies ou de la modification des exigences ont tendance à avoir trop de solutions complexes avec un nombre plus élevé de problèmes par ligne.

Étant donné un problème à résoudre, je préfère de beaucoup la solution qui réduit le nombre de lignes. Bien sûr, au début de petit projet, je peux générer beaucoup plus de dix lignes de code par jour, mais j'ai tendance à ne pas penser à la quantité de code que j'ai écrit, et seulement ce qu'il fait et comment il le fait. Je ne voudrais certainement pas pour objectif de battre une dizaine de lignes par jour, ou de la considérer comme un exploit de le faire.

55voto

rlovtang Points 3176

J'aime bien cette citation:

Si nous voulons compter les lignes de code, nous ne devons pas les considérer comme des "lignes de produits", mais comme "lignes passé". - Edsger Dijkstra

Parfois, vous avez contribué, plus en retrait que l'ajout de code

46voto

Liran Orevi Points 2126

Je pense que le nombre de lignes ajoutées est fortement tributaire de l'état du projet, le taux de l'ajout d'un nouveau projet va être beaucoup plus élevé que le taux de départ du projet.

Le travail est différent entre les deux à un grand projet que vous passez habituellement la plupart du temps à essayer de comprendre les relations entre les parties, et seulement une petite quantité à fait la modification, l'ajout. alors que dans un nouveau projet - vous surtout à écrire... jusqu'à ce qu'il est assez grand et le taux d'emploi diminue.

30voto

Otávio Décio Points 44200

Vous devez cesser d'utiliser ce paramètre, il est vide de sens pour la plupart. La cohésion, l'accouplement et la complexité sont plus importants indicateurs de lignes de code.

28voto

Jon Harrop Points 26951

Comment sont les autres personnes en train de faire?

Je suis le seul à temps plein dev à notre société et ont écrit de 500 000 lignes de OCaml et code F# au cours des 7 dernières années, ce qui équivaut à environ 200 lignes de code par jour. Cependant, la grande majorité de ce code est tutoriel exemples composé de centaines de projets séparés chacun quelques centaines de lignes de long. Aussi, il y a beaucoup de chevauchement entre les OCaml et le F#. Nous ne sommes pas le maintien de tout maison-dans le code des bases supérieures à 50kLOC.

Outre le développement et le maintien de notre propre logiciel, j'ai également consulté de nombreux clients dans l'industrie au cours des 7 dernières années. Pour le premier client, j'ai écrit de 2 000 lignes de OCaml plus de 3 mois, qui est de 20 lignes de code par jour. Pour le client suivant, quatre d'entre nous a écrit un compilateur qui a généré des millions de lignes de C/C++/Python/Java/code OCaml ainsi que de la documentation dans les 6 mois qui est de 2 000 lignes de code par jour et par développeur. Pour un autre client, je l'ai remplacé 50kLOC de C++ avec 6kLOC de F# dans 6 mois, ce qui est -352 lignes de code par jour. Pour encore un autre client, je suis à la réécriture 15kLOC d'OCaml en F# qui sera de la même taille et 0 lignes de code par jour.

Pour nos clients actuels, je changerai de 1 600 000 lignes de C++ et le code Mathematica avec ~160kLOC de F# dans 1 an (en écrivant sur mesure compilateur) qui sera -6,000 lignes de code par jour. Ce sera ma plus belle réussite à ce jour et de sauver notre client des millions de dollars par année en coûts. Je pense que tout le monde devrait viser à écrire -6,000 lignes de code par jour.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X