Il file sorgente non dovrebbe essere più di 100 SLOC [chiuso]

2

Ho appena iniziato a lavorare su una linea di base che è radicata in Ada. Molti dei più vecchi programmatori Ada insistono sul fatto che i file sorgente non dovrebbero essere più di 100 SLOC. Ho cercato questo online e non ho trovato alcuna fonte per questa affermazione. Si tratta di una linea guida o di un radicato principio del software engineer? Sono stato un ingegnere del software per 13 anni e non ne ho mai sentito parlare fino ad ora. Insistono sul fatto che il codice in questi piccoli file sorgente sia più facile da capire, ma mi sembra che ci siano tonnellate di piccoli file sorgente.

    
posta Brian 30.03.2015 - 02:01
fonte

2 risposte

5

Il più vicino che abbia mai ricevuto su una linea guida simile a quella che idealmente dovresti essere in grado di vedere la fonte completa di un sottoprogramma sul display allo stesso tempo.

Sono abbastanza sicuro della " Guida alla qualità e allo stile di Ada 95 " , che è la guida autorevole allo stile per la moderna programmazione Ada, non contiene nulla di simile a questa limitazione.

    
risposta data 30.03.2015 - 07:57
fonte
4

In oltre 40 anni in questo pazzo racket, come studente e come professionista, ho praticamente visto una (1) routine che doveva essere più di una pagina stampata (circa 60 righe). Ho visto alcune macchine di stato davvero brutte che avevano un sacco di stati (penso che il record sia 35), che non potevano essere presi in considerazione in modo pulito, ma le macchine di stato sono un caso speciale.

Questo non vuol dire che non ho visto molte routine che ERANO più di una pagina stampata. Media e sotto la media (per definizione, la metà di tutti i programmatori sono al di sotto della media!) I programmatori C e C ++ lanciano 500 spew stream-of-consciousness di linea alla caduta di un tasto, e in qualche modo non riescono mai a tornare indietro e a pulirli. La codifica "taglia e incolla" è la norma, con la stessa dozzina di linee che appaiono in una mezza dozzina di posti, invece di essere tagliati in una subprocedura e chiamati (o macro-espansi, nel caso RARE! alta).

Per quello che riguarda, ne ho scritti alcuni, sotto pressione.

C'è un corpus di conoscenza ENORME, che risale a prima che iniziassi, mostrando in modo conclusivo che la comprensione dei programmatori diminuisce drasticamente nel momento in cui un programmatore deve "girare una pagina". Inizia con "Psicologia della programmazione informatica" di Weinberg. A 100 SLOC, hai intenzione di trasformare una pagina di elenco almeno una volta. Scorrerai il tuo editor due o tre volte, a seconda delle dimensioni dello schermo. (Una volta ho adottato un editor piuttosto bizzarro per un compito, JUST perché supportava la modalità VGA a 50 righe, per lavorare su un certo pezzo di codice molto disordinato.)

Ho visto prove considerevoli che far rispettare la modularità fa una grande differenza. Le implementazioni tradizionali di FORTH costringono la modularizzazione e il refactoring, poiché rendono IMPOSSIBILE scrivere lunghi spews di codici stream-of-consciousness. I programmatori FORTH sono FORZATI per rompere le cose in pezzi facilmente digeribili, e sembra fare una grande differenza. (Nota: Elizabeth Rather, il secondo programmatore di FORTH nella storia, non è d'accordo con me su questo.)

La gente di tanto in tanto chiede se gli IDE moderni che consentono di "piegare" il codice (i blocchi crollati) aggirassero questa limitazione umana. Non ho visto studi, e sarei sospettoso di qualsiasi studio che si proponeva di affrontarlo: vorrei sapere quante persone di quali tipi di background erano nello studio. In realtà non ho mai visto un IDE così reale in uso. (Ne ho solo sentito parlare uno, il vecchio Rational R1000 Ada Development System, ed è andato al cimitero dei dinosauri molto tempo fa.)

"100 SLOC" è probabilmente una linea guida, ma ha il sapore di una linea guida scritta nel sangue di innumerevoli ingegneri del software che hanno dovuto eseguire il debug di spews 1000-SLOC. (Sono stato lì, fatto questo, non volevo la T-shirt.) Probabilmente vorresti seguirlo, se non altro per impedire ai grigiorecchi di urlare "SCENDI IL MIO PRATO!" a te.

    
risposta data 30.03.2015 - 16:46
fonte

Leggi altre domande sui tag