Più codice = più bug


10

Di nuovo al college, ricordo un professore che insegnava alla classe una delle leggi dell'informatica. Ha detto qualcosa come "Più codice equivale a più bug" e gli ha dato un nome (La legge di Whatchamacallit) e lo ha attribuito a qualcuno.

Qualcuno sa da dove viene questa "legge", chi l'ha detto o qual è la sua verbosità originale?


6
Mi ricorda: "Un designer sa di aver raggiunto la perfezione non quando non c'è più niente da aggiungere, ma quando non c'è più niente da togliere". -Antoine de Saint-Exupery
Kirk Woll,

4
Mi ricorda "Non esiste un codice più veloce di nessun codice" (Taligent's Guide to Designing Programs).
Luke Woodward,

1
Bene, dato che l'hai menzionato qui e nessuno sa come si chiama, chiamiamolo "Legge di Jeff".
FrustratedWithFormsDesigner

@Kirk, una citazione simile di Arthur William Radford (del dipinto): "La metà dell'arte è sapere quando fermarsi". Molto appropriato anche in questo contesto.
Berin Loritsch,

Mi piace la "Legge di Jeff". Poi arriva l'affare del libro. Chi mi aiuterà a trovare un editore? :)
Jeff,

Risposte:


7

Inoltre, un numero sostanziale dei problemi causati dal software difettoso, che si verifica perché i fornitori continuano ad aggiungere sempre più funzionalità ai loro programmi, il che significa inevitabilmente più codice e quindi più bug.

Di Andrew Tannenbaum


2
I collegamenti alle ricerche su Google non sono particolarmente utili. Puoi estrarre le informazioni pertinenti e pubblicarle nella tua risposta.
ChrisF

1
@ChrisF è il primo risultato nella ricerca di libri. È materiale protetto da copyright e preferirei non citare testualmente. Grazie per il tuo commento.
Dr. belisarius,

2
Immagino che un uso corretto coprirebbe una citazione.
Orbling

1
Sembri riluttante a fare le modifiche così ho fatto per te.
Josh K,

sembra giusto. Grazie! sto provando a ricordare questo per anni.
Jeff,

4

Il libro di Boehm, Software Engineering Economics lo ha come formula di base.

Sforzo = k * S ^ a

Dove S è la riga di codice sorgente.

E la funzione di potenza, a era> = 1.0.


4

@belisarius: ben individuato con Tannenbaum.

@Jeff: se Tannenbaum non suona un campanello, il tuo professore potrebbe aver menzionato Occam e la legge dell'economia / del succinto. (Vedi Occam's Razor .)

@ S.Lott: Dijkstra discuteva abbastanza fortemente contro l'uso di righe di codice come misura di lavoro utile. Sostanzialmente ha detto che massimizza la variabile sbagliata. Naturalmente, Boehm tenta di modellare lo sforzo e le righe di codice dovrebbero includere le righe di codice eliminate.

Modificare:

Ho pensato di aggiungere che Dijkstra ha anche affermato che "la semplicità è un prerequisito per l'affidabilità".


7
Usa "aggiungi commento" sotto le risposte per aggiungere commenti invece di scriverli in una risposta.

1
@ Thorbjørn Ravn Andersen - sfortunatamente come utente <50 rappresentanti non può aggiungere commenti.
ChrisF

1
@ Thorbjørn: hai bisogno di 50 rappresentanti per poter lasciare commenti. @Kevin: se colleghi i tuoi account SO e programmatori, otterrai 100 rappresentanti, lasciandoti istantaneamente commenti.
Anon.

1
@Kevin - Programmers 'non è un forum ma un sito di domande e risposte. Sei più che benvenuto a pubblicare una risposta che contenga più informazioni di quelle fornite dalle risposte attuali, ma non dovresti pubblicare commenti come risposte. Se controlli le FAQ vedrai che hai bisogno di 50 reputazione per poter commentare, ma questo è abbastanza facile da ottenere.
ChrisF

1
@Anon - hai bisogno di> 200 rappresentanti in almeno un sito per ottenere il bonus. Purtroppo Kevin solo come 160 su SO al momento. Ma puoi associare nuovamente i tuoi account in qualsiasi momento, quindi quando raggiungi 200 su un sito sarai in grado di ottenere il bonus su tutti.
ChrisF
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.