La mancanza di spazi bianchi è un segno di un programmatore di culto del carico? [chiuso]

5

Eric Lippert ha scritto sulla programmazione settoriale cargo , e Steve McConnell ha affrontato l'argomento dal punto di vista dell'ingegneria del software.

Eric fornisce una descrizione abbastanza succinta:

They understood the form but not the content. There are lots of cargo cult programmers -- programmers who understand what the code does, but not how it does it. Therefore, they cannot make meaningful changes to the program. They tend to proceed by making random changes, testing, and changing again until they manage to come up with something that works.

Questo non vuol dire che i programmatori di culto del carico siano cattivi , di per sé, solo che si avvicinano al codice in modo diverso rispetto ad altri. Il loro obiettivo è quello di fare le cose; non capisco perché il codice sta facendo qualcosa. Questa domanda sui programmatori illustra la formattazione e "sciatta" programmatori ", ma è diverso in quanto non si concentra sugli spazi bianchi ed è chiaro che i programmatori sono considerati pessimi.

Molto è stato scritto sui programmatori sull'utilizzo di commenti come l'uso di spazio bianco .

L'accettazione generale è di usare i commenti per spiegare " perché non cosa " e per usare gli spazi bianchi per separare i costrutti logici all'interno del codice. Per prendere a prestito dalla scrittura tradizionale, lo spazio bianco fornisce paragrafi di testo da leggere invece di affrontare un muro di testo. Separa i concetti chiave.

Sono nel mezzo del ri-factoring di un codice originariamente scritto da un programmatore di culto del carico, e una delle sfide che ho incontrato è la mancanza costante di spazi bianchi per indicare il contesto oi concetti all'interno del programma. Esaminando il codice, è chiaro per me che lo sviluppatore non ha compreso il perché o il contesto alla base dell'attività che gli è stata assegnata. Ignorando la copia e l'estensione non corrette incolla i problemi, il codice non viene letto bene a causa del flusso disgiunto tra le istruzioni.

Mi rendo conto che l'uso dello spazio bianco è influenzato dal linguaggio originale che qualcuno impara per la prima volta, ma non posso fare a meno di chiedermi se l'uso "illogico" o la mancanza di uso degli spazi bianchi sia un indicatore di un programmatore di culto del carico. / p>

La mia domanda: - Esiste una correlazione tra non utilizzare correttamente gli spazi bianchi e le probabilità che la persona sia un programmatore di culto cargo?

Addendum :

Mi rendo conto che la mia domanda è soggettiva, ma penso che rientri nella buona categoria soggettiva perché si risponde meglio a questa domanda con una risposta di tipo "why" radicata nell'esperienza e / o potenzialmente in una certa quantità di ricerche. Allo stesso modo, credo che sia una risposta alla domanda, e ho focalizzato la domanda su come identificare se esiste una correlazione evitando potenziali ranting.

Nella mia domanda, sto usando la definizione più ampia di programmazione settoriale del carico come definita da Eric. I programmatori di Cargo Cult mischiano e abbinano i moduli perché lo snippet che hanno preso sembra risolvere il problema in questione. Eppure non capiscono perché le sezioni che hanno copiato risolvano il problema. In questo contesto, non vedo Cargo Cult Programming come tentare di imitare lo stile di un'altra persona , ma piuttosto di cercare di" aggiustare "qualunque sia il problema a portata di mano con qualunque codice riesca a trovare.

    
posta GlenH7 13.05.2014 - 17:55
fonte

4 risposte

13

Direi che esiste una correlazione ma non necessariamente una causa. Le persone che hanno difficoltà a comprendere il significato di un programma tendono anche ad avere difficoltà a vedere come lo spazio bianco migliora la comprensione di quel significato da parte di altre persone.

Lo stesso effetto si vede in prosa. Le persone che hanno difficoltà a raggruppare coerentemente i loro pensieri tendono anche a vedere poco valore nel separare quei gruppi con i paragrafi.

È possibile che il codice tecnicamente solido sia formattato in modo molto scadente, ma in generale è possibile assumere che le capacità di formattazione dei programmatori siano commisurate al resto delle loro capacità di programmazione. Ho visto alcune eccezioni, principalmente con i programmatori che hanno lavorato da soli per molti anni, o naturalmente con programmatori di grande talento appena usciti da scuola.

Se il codice formattato male conferma una mentalità settoriale del carico o meno, non cambia il risultato. Ti fa fidare meno del codice, quindi anche se correggi lo spazio bianco sarai alla ricerca di altri problemi, invece di credere che il codice faccia quello che dice. In altre parole, se vuoi che il tuo codice venga preso sul serio, deve essere bello.

    
risposta data 13.05.2014 - 19:10
fonte
3

Per rimanere all'interno della storia del Cargo Cult, questo sarebbe come qualcuno che scrive codice che fa "Qualcosa di incredibile" e pensa che gli orde di programmatori contribuiranno a questo progetto open source anche se il codice stesso è formattato male. Tutti gli altri hanno tonnellate di contributori e la mia app è incredibile quanto la loro.

Quante persone guarderanno a questo e non avranno nemmeno fastidio? Forse qualcuno con un po 'di tempo a disposizione metterà tutto lo spazio bianco e questo darà al progetto una certa trazione. lascia un sacco di dubbi sullo sviluppatore principale. Chissà, forse questo codice è stato copiato da qualche altra parte e messo in Word.

Ci sono alcuni che non pensano che la formattazione sia importante in questo caso. I buoni programmatori si formattano senza nemmeno pensarci, quindi non c'è nemmeno un calo di produttività.

Un buon carpentiere tocca un pezzo di materiale il minor numero di volte necessario: taglia un pezzettino da una tavola, gettalo nel cestino e non sul pavimento solo per raccoglierlo e buttarlo via più tardi .

    
risposta data 13.05.2014 - 20:10
fonte
0

Non necessariamente. Come hai detto, lo spazio bianco è influenzato dal loro linguaggio di programmazione "naturale". Tuttavia, ho anche notato che alcuni sviluppatori sembrano avere una sorta di strana avversione nello scorrere verso il basso per leggere più codice.

Lavoro con uno sviluppatore che non è un programmatore di culto del carico, ma usa lontano meno spazi di quelli che trovo leggibili (o, se glielo chiedi, direi che uso uno spazio bianco eccessivo) . Codifica usando vim, spesso con diverse finestre aperte come riferimento mentre sta lavorando. Di conseguenza, tende a preferire finestre più piccole, ma vuole comunque essere in grado di vedere più di poche righe di codice nella finestra. Il risultato è un minimo di spazi bianchi in tutto ciò che ha scritto.

Durante il mio ultimo lavoro, il codice è durato fino a quando è stato necessario digitare tutto, senza alcun avvolgimento di linea. Invece, dovresti scorrere continuamente verso destra per vedere cosa stava succedendo. Non sono sicuro del perché, ma in ogni caso le persone responsabili non erano programmatori di culto del carico. Personalmente, penso che si tratti di una mancanza di linee guida di stile piuttosto che di qualsiasi altra cosa.

    
risposta data 14.05.2014 - 04:30
fonte
0

Non vedrei la mancanza di spazi bianchi verticali come nessun tipo di indicazione.

Vedrei degli spazi bianchi eccessivi (a mio parere) come un'indicazione che il programmatore non era così esperto come avrebbe potuto pensare che fosse.

Le ricerche risalenti a decenni dimostrano oltre ogni ragionevole dubbio che la comprensione dei programmatori è limitata da ciò che può vedere a prima vista, senza scorrere o girare pagine. Una volta che lo scorrimento o la modifica delle pagine diventano necessari, la comprensione dei programmatori diminuisce drasticamente.

Questo è anche il motivo per cui i monitor più grandi sono così strongmente desiderabili.

Lo spazio bianco è usato al meglio con parsimonia. Se non ne hai bisogno, non gettarlo. Se ne hai bisogno, considera se la rilavorazione / refactoring potrebbe non essere un'opzione migliore.

    
risposta data 14.05.2014 - 07:22
fonte

Leggi altre domande sui tag