Plus de code = plus de bugs


10

De retour au collège, je me souviens d'un professeur enseignant à la classe une des lois de l'informatique. Il a dit quelque chose comme "Plus de code équivaut à plus de bugs" et lui a donné un nom (The Law Of Whatchamacallit) et l'a attribué à quelqu'un.

Est-ce que quelqu'un sait d'où vient cette "loi", qui l'a dit ou quel est son verbiage original?


6
Cela me rappelle: "Un designer sait qu'il a atteint la perfection non pas quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retirer." -Antoine de Saint-Exupery
Kirk Woll

4
Me rappelle «Il n'y a pas de code plus rapidement que pas de code» (Guide de conception de programmes de Taligent).
Luke Woodward

1
Eh bien, puisque vous l'avez mentionné ici et que personne ne sait comment il s'appelle, appelons-le "Jeff's Law".
FrustratedWithFormsDesigner

@Kirk, une citation similaire d'Arthur William Radford (de la peinture): "La moitié de l'art sait quand s'arrêter". Très approprié dans ce contexte également.
Berin Loritsch

J'aime "Jeff's Law". Vient ensuite l'accord sur le livre. Qui m'aidera à trouver un éditeur? :)
Jeff

Réponses:


7

En outre, un nombre substantiel des problèmes causés par les logiciels bogués, qui se produit parce que les fournisseurs ajoutent de plus en plus de fonctionnalités à leurs programmes, ce qui signifie inévitablement plus de code et donc plus de bogues.

Par Andrew Tannenbaum


2
Les liens vers les recherches Google ne sont pas particulièrement utiles. Pouvez-vous extraire les informations pertinentes et les publier dans votre réponse.
ChrisF

1
@ChrisF c'est le premier résultat de la recherche de livre. C'est du matériel protégé par des droits d'auteur, et je préfère ne pas citer de texte. Merci pour votre commentaire.
Dr belisarius

2
J'imagine qu'une utilisation équitable couvrirait une citation.
Orbling

1
Vous semblez peu disposé à faire les modifications, donc je l'ai fait pour vous.
Josh K

cela sonne bien. Merci! ive essaye de m'en souvenir depuis des années.
Jeff

4

Le livre de Boehm, Software Engineering Economics l'a comme formule de base.

Effort = k * S ^ a

Où S est les lignes de code source.

Et la fonction de puissance, a était> = 1.0.


4

@belisarius: Bien repéré avec Tannenbaum.

@Jeff: Si Tannenbaum ne sonne pas la cloche, votre professeur a peut-être mentionné Occam et la loi de l'économie / succintness. (Voir Rasoir d'Occam .)

@ S.Lott: Dijkstra plaidait assez fortement contre l'utilisation des lignes de code comme mesure de travail utile. Il a essentiellement dit que cela maximisait la mauvaise variable. Bien sûr, Boehm tente de modéliser l'effort, et les lignes de code devraient inclure des lignes de code supprimées.

Éditer:

J'ai pensé ajouter que Dijkstra a également déclaré que "la simplicité est une condition préalable à la fiabilité".


7
Utilisez "ajouter un commentaire" sous les réponses pour ajouter des commentaires au lieu de les écrire dans une réponse.

1
@ Thorbjørn Ravn Andersen - malheureusement, en tant qu'utilisateur <50 représentants, il ne peut pas ajouter de commentaires.
ChrisF

1
@ Thorbjørn: Vous avez besoin de 50 représentants pour pouvoir laisser des commentaires. @Kevin: Si vous liez vos comptes SO et Programmeurs, vous obtiendrez 100 répétitions, vous permettant instantanément de laisser des commentaires.
Anon.

1
@Kevin - Programmers 'n'est pas un forum mais un site de questions et réponses. Vous êtes plus que bienvenus pour publier une réponse qui contient plus d'informations que celles fournies par les réponses actuelles, mais vous ne devez pas publier de commentaires en tant que réponses. Si vous consultez la FAQ, vous verrez que vous avez besoin de 50 points de réputation pour pouvoir commenter, mais cela est assez facile à réaliser.
ChrisF

1
@Anon - vous avez besoin de> 200 rep sur au moins un site pour obtenir le bonus. Malheureusement, Kevin n'a que 160 sur SO pour le moment. Mais vous pouvez réassocier vos comptes à tout moment, donc lorsque vous atteignez 200 sur un seul site, vous pourrez obtenir le bonus sur tous.
ChrisF
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.