È comune stampare codice su carta? [chiuso]


36

Mi piace mantenere le mie righe di codice al di sotto di 80 caratteri perché:

  • Non devo fare alcuno scorrimento orizzontale;
  • So che la linea è probabilmente troppo complicata se supera questo limite; e
  • si stampa bene sulla carta.

Per quanto riguarda quest'ultimo, ho incontrato solo pochi che in realtà stampano il codice da guardare (sono uno di loro). Quindi, quanto è comune stampare il codice?


1
Penso che la domanda sia: perché stampi il codice su carta?
Anon.

14
Non posso parlare di quanto sia comune stampare il codice, ma a meno che la stampante non sia una reliquia di un tempo dimenticato , può stampare più di 80 caratteri per riga. 80 caratteri sono usati per favorire la leggibilità e storicamente perché molti terminali erano larghi solo 80 colonne, non per via delle stampanti.

12
@Mark In realtà 80 caratteri provengono da quando il codice è stato scritto su schede perforate larghe 80 caratteri. E i primi 6 erano per codici di controllo e numeri di riga. Ecco perché il codice FORTRAN deve iniziare dalla colonna 7.
ChrisF

3
@Aaron - probabilmente va bene per i programmatori
ChrisF

5
@Aaron - I programmatori è pensato per le domande più soggettive (ma ancora costruttive) che circondano la nostra professione.
ChrisF

Risposte:


50

Di tanto in tanto stampo ancora il codice, ma solo se si tratta di un problema particolarmente intricato.

Di solito indica che il codice è troppo complicato e necessita di refactoring, quindi in primo luogo avere qualcosa su cui scarabocchiare aiuta a trovare e risolvere il problema e quindi aiuta a capire dove deve essere suddiviso il codice.

In un mondo ideale di principi SOLID e DRY dovresti essere in grado di vedere l'intero metodo su una singola schermata. Tuttavia, non lavoriamo in un mondo ideale ...


4
+1 per "[dover guardare il codice stampato] di solito indica che il codice è troppo complicato e necessita di refactoring ..."
Bill

Ha anche funzionato bene per comprendere le condizioni di gara. Stampa le tracce dello stack e confrontale fianco a fianco,
prendi

4
@rperetti: stampare cose come le tracce dello stack è molto diverso dalla stampa del codice. Non confrontarli fianco a fianco, però: trova una finestra (il tipo di vetro, non il tipo Microsoft). Metti le due stampe una sopra l'altra sul vetro e le discrepanze si distinguono. (Ovviamente, solo alla luce del giorno.)
Loren Pechtel,

5
Non sarebbe più semplice confrontarli con uno strumento diff?
Jeanne Pindar,

14

Scommetti. Ma ricorda che la stampa in orizzontale consentiva 132 caratteri.

testo alternativo

In Uni, stampavo regolarmente il mio codice su carta a barra verde, è sorprendente quanto tu abbia un'idea fisica di quanto sia profondo e contorto il tuo codice quando lo guardi sulla carta. Siamo (almeno fino ad oggi) ancora mentalmente impressi dai nostri giorni di scuola elementare sulle pagine di lettura e quanto ciascuna pagina può rappresentare. Mette una buona metafora della complessità nel codice del computer.

testo alternativo


13

di tanto in tanto potresti dover dare un'occhiata ravvicinata ad alcuni codici (di solito nuovi per te) in cui essenzialmente devi vedere molto allo stesso tempo. Quindi una stampa può essere preziosa per te per essere in grado di guardare tutto in una volta.

Combinato con un evidenziatore e una penna rossa e verde aiuta davvero a ottenere una visione d'insieme. Le note che metti su carta vengono successivamente aggiunte in qualche forma al codice.

Nota: con le moderne stampanti a colori, puoi ottenere anche la colorazione della sintassi sulla carta. Questo è davvero di grande aiuto ed è altamente raccomandato.

(Stampo anche le specifiche per la lettura, ovvero per mettere le note a margine.)


8
+1 Quando qualcuno mi dà un casino per refactoring, di solito lo stampo e vado a passare un po 'di tempo in un bel posto soleggiato.
Sharpie,

Come regola generale, se l'intero modulo non si adatta a uno schermo, probabilmente ha bisogno di pesanti rilavorazioni. Ciò è particolarmente vero da quando è diventata disponibile la modalità VGA a 50 linee, non abbastanza 20 anni fa. L'ho già detto prima, e lo dirò di nuovo: in quasi 40 anni in questa folle racchetta, ho visto esattamente UN (1) modulo che doveva essere lungo più di circa 60 righe (una pagina stampata) . (Ho visto MOLTI moduli che erano più lunghi di così, e tutti "lasciavano molto a desiderare". (Frase gentile.)
John R. Strohm,

@Giovanni, perché doveva essere più lungo di 60 linee?

@ user1249: Era la routine dei siluri fotonici del gioco Matuszek-Reynolds-McGehearty-Cohen "STARTRK" ("Star Trek"). È stato scritto in FORTRAN IV. Doveva analizzare il comando, simulare il volo di uno o tre siluri fotonici (possibilmente interrompendo se si fosse verificato un errore di accensione), con perturbazioni, E impostare uno stack per fare la connettività a 8 vie delle stelle che vanno in Nova quando vengono silurate o essendo adiacente a una stella che va in nova e uccide tutti i Klingon adiacenti a dette stelle. FORTRAN IV non ha fatto la ricorsione, e non c'era proprio alcun modo di considerarlo che non la peggiorasse.
John R. Strohm,

12

A volte lo stampo per leggere sul treno e prendere appunti. Quando rimango bloccato, mi piace stenderlo su un tavolo in una tranquilla sala conferenze. Non sono sicuro che aiuti davvero, ma è un bel cambio di passo.

Un altro: trovato un vecchio codice che era un'istruzione If / Then multi-nidificata che non si adattava allo schermo. Avrebbero dovuto licenziare l'ex programmatore che l'ha scritto, ma poi sarei senza lavoro;)


4
+1 per un cambio di scena. A volte solo vedere qualcosa in un contesto diverso ti fa pensare in modo diverso.
Jon Hopkins,

3
+1 È possibile mettere più pagine affiancate su un grande tavolo da conferenza che sullo schermo del computer. E non ti distraggono da Twitter o e
Alex Jasmin,

1
Se vieni distratto da Twitter o e-mail, stai sbagliando. Le e-mail, Twitter o vari altri messenger sono asincroni. Non è necessario rispondere al più presto.
mhr

8

Stampo solo il codice per fare una revisione tra pari del codice. Fare la recensione offline è secondo me più efficiente che farlo su un computer con tutte le cose IDE inquietanti (ma a volte utili).

Se si dispone di uno (o due o più) monitor abbastanza larghi, è possibile aprire facilmente due file sorgente divisi verticalmente in modalità schermo intero e non è necessario obbedire a regolamenti troppo restrittivi sulla larghezza della linea.

E in alcuni casi, non ho bisogno di vedere l'intero contenuto della linea (cioè le linee che stampano messaggi di debug o simili) e quindi non importa se la linea è tagliata a destra.

Ma per rispondere alla tua domanda: secondo me non è più così comune stampare codice su carta.


8

Bene, ora stampo il codice su carta di rado, ma in passato lo facevo sempre.

I soliti motivi in ​​questi giorni sono di sedersi in un posto tranquillo e spiegare il codice a un giovane, o se un metodo lungo è davvero infastidito e ha bisogno di un po 'di lavoro attraverso carta e penna. Le schermate non sono sempre sufficienti, specialmente quando vuoi note ed evidenziare ovunque.

Rispetto quasi sempre al limite di 80 caratteri, poiché sono propenso a correggere rapidamente i bug tramite SSH in caso di emergenza e non mi piace avere terminali ampi. Inoltre, lo scorrimento orizzontale è il diavolo.


5
+1 "lo scorrimento orizzontale è il diavolo". Stavo solo dicendo a qualcuno la stessa cosa esatta la scorsa settimana.
morganpdx,

8

Quando ero adolescente quando frequentavo il liceo (ora 21) non avevo una connessione Internet a casa. Quindi stamperei spesso esempi di codice e varie documentazioni API da portare a casa con me.

Nota a margine: è incredibile quanto più lavoro puoi fare senza una connessione Internet, a condizione che tu abbia già le informazioni di cui hai bisogno.


6

Non ho mai stampato il mio codice sorgente. Non ho mai dovuto farlo. L'unico codice sorgente che ho visto fuori dallo schermo di un computer era nei libri.

Ho usato le mie stampanti per qualcos'altro.

testo alternativo


1
Ora mi sento vecchio: D
wildpeaks

Come persona nata dopo questo software, è stato divertente cercare.
Naltroc,

5

Stampo il codice quando entrambi i miei monitor sono pieni e devo fare costantemente riferimento a qualcosa. Un foglio di carta sulla scrivania è un monitor aggiuntivo per i poveri.


Mettilo sul monitor # 3 allora!
Loren Pechtel,

4

Quindi, quanto è comune stampare il codice?

Era comune molti anni fa ai tempi della programmazione DOS, 80 caratteri riempivano con precisione una pagina stampata. Avevamo quindi stampanti a matrice quindi la limitazione era probabilmente dal lato hardware. Era anche il limite sullo schermo di una console.

Oggigiorno le persone difficilmente stampano il codice, l'unica eccezione sono i piccoli frammenti di codice stampati come esempi di test per le interviste di lavoro.

Oggigiorno le persone lavorano principalmente con monitor di grandi dimensioni, Full HD e altro ancora. In genere mi allungo a 150-200 caratteri senza pensare a effetti collaterali di stampa.

Quando è il momento di discutere in gruppo, qualcuno di solito prende un laptop e lo collega a un proiettore. Ancora una volta, nessuno stampa il codice.

L'ultima volta che ho stampato il codice è stato circa 8 anni fa per il mio diploma universitario, che sono abbastanza sicuro che nessuno abbia letto - il codice intendo :-). Da allora non ho mai dovuto.


Sono passati eoni da quando ho stampato un codice diverso da quello di una pagina web. Non sono d'accordo con la lunghezza della tua linea, anche se puoi ottenere così tanto su che è difficile da seguire. Raramente passo oltre 100 personaggi e mi piace mantenerlo a circa 80.
Loren Pechtel,

@Loren Pechtel: Il fatto è che mi piacciono i nomi descrittivi lunghi per metodi e variabili. Con solo 80 caratteri avrei difficoltà a mantenerlo compatto e formattato correttamente. Ovviamente è solo il mio caso.

Hai fatto la programmazione DOS su una console crt? Avevamo le carte perforate. Il limite di 80 caratteri era il risultato delle carte perforate. Essere in grado di studiare codice su 3 o 4 pagine contemporaneamente è abbastanza utile. Immagino sia per questo che preferisco ancora le stampe. È più facile navigare tra le funzioni correlate.
Huperniketes l'

Mi piacciono anche i nomi lunghi, ecco perché a volte finisco per arrivare a 100 caratteri.
Loren Pechtel,

4

Il codice di stampa è diventato obsoleto da qualche parte tra il 1975 e il 1982, tranne per motivi speciali:

  • codice per leggerlo durante un tragitto giornaliero
  • vecchio codice che rientra nelle specifiche di un nuovo progetto che deve sostituirlo
  • affrontare errori palesi; è più sicuro colpire un collega con una risma di carta rispetto a un monitor

1
Pummeling è sottovalutato.
Keith Layne,

3

I nostri avvocati per la proprietà intellettuale richiedono una "copia cartacea" per il deposito dei diritti d'autore.

Non so se lo stiano effettivamente stampando su carta. Mando loro un PDF che possono stampare o includere nel deposito del copyright.


3

Non più. Lo facevo sempre nei giorni pre-IDE, quando la matrice di punti con alimentazione continua era la norma. Potresti spargere quelle stampe e sfogliarle abbastanza facilmente. Le moderne stampanti laser / inkjet alimentate a fogli sono un enorme passo indietro. Anche la pinzatura insieme non scorre, e la pinzatura non provoca fogli sciolti che si confondono. Gli IDE moderni con evidenziazione automatica e navigatori di metodi eliminano anche intere classi di errori che sono stati rilevati esaminando le stampe.


2

A volte stampo il mio codice perché sono su un singolo monitor (15 ") di dimensioni ridotte. A volte ho bisogno di combinare due programmi ed è molto difficile passare avanti e indietro tra di loro. Non lo faccio spesso però, solo quando necessario .


Dual Monitor! ;)
Pemdas,

@Pemdas I wish, lol.
domenica

Uso un 15 "a casa a causa della mancanza di spazio sulla scrivania.
Orbling

2

Stampo il mio codice su carta molto occasionalmente e solo quando voglio fare un serio debug offline o fare conoscenza con il codice di qualcun altro - quindi potrebbe valere la pena farlo solo per cortesia.

Inoltre, probabilmente sarei più adatto a stampare uno schema di database su carta rispetto al codice.

Penso che il problema dello scorrimento orizzontale sia una seccatura maggiore e un motivo per rimanere a <120 caratteri circa.


In realtà, 80 caratteri è ancora un buon indicatore per il problema dello scorrimento orizzontale. Gli sviluppatori hanno spesso due riquadri di origine e, anche con la mia risoluzione di 1680, posso ottenere solo 107 caratteri prima di dover scorrere quando ho due riquadri affiancati. Inoltre, preferisco che il codice non vada completamente al margine giusto.
Craige,

1
@Craige kinda dipende dalla dimensione del carattere e dal DPI, ma anche dalla quantità di spazzatura che hai su entrambi i lati dello schermo (se sei in un IDE). Ho iniziato a usare XTerm invece del terminale Gnome standard durante la codifica tramite SSH per questo motivo - non che non avrei potuto semplicemente cambiare il carattere.
Peter Turner,

@Petur Turner: è vero, ma il mio Eclipse è configurato in modo da ridurre al minimo lo spazio sprecato quando devo arrivare alla programmazione. Non c'è quasi spazio sprecato a sinistra e a destra dei miei editor. Anche la dimensione del carattere è piuttosto standard. Il punto è che 80 caratteri sono una buona lunghezza target per rendere leggibile la fonte nelle condizioni più diverse.
Craige,

2

Stampo solo il codice che accompagna un articolo scientifico. Perché questo codice fornisce spesso l'implementazione di un algoritmo (uno complesso direi), e per elaborarlo sono necessarie un paio d'ore.
Dubito che stamperei il codice che contiene istruzioni SQL o alcune programmazioni della GUI.


2

A volte stampo il codice per cercare di dare un senso ai problemi spinosi di più pagine.


+1 Mi fa venire voglia di avere ancora una stampante ad aghi con reem di carta infiniti.
Peter Turner,

con alternanza di linee verde e marrone chiaro? Ma così lento !!!
Christopher Mahan,

2

Quasi mai

Ho davvero pensato di ricordare un momento in cui ho stampato il codice o visto il codice stampato. E posso onestamente dire che non ricordo una sola volta (salvo il codice Pseudo).

Non sto suggerendo che non ci siano motivi legittimi per stampare il codice.


2

Trovo più facile capire i moduli di grandi dimensioni se riesco a stamparli e vedere rapidamente varie sezioni. Probabilmente potrei fare qualcosa di simile con più monitor, ma se ho più di 2-3 posizioni nel codice da guardare, è più veloce avere tutto sparso in un posto piuttosto che continuare a scorrere e tenere traccia dei segnalibri. Mi piace anche contrassegnare le stampe con le modifiche anziché modificarle nell'editor, perché posso vedere il vecchio codice e il nuovo codice fianco a fianco. Certo, potrei commentare il vecchio codice nell'editor, ma se stai sostituendo più di alcune righe, finisci per scorrere il vecchio codice dal monitor, quindi non stai meglio.

Detto questo, non stampo quasi mai più il codice. È stato fantastico su carta a moduli continui, in cui l'intero elenco era continuo e avevi un sacco di spazio per le note ai margini, ma stampare tutto su singole pagine in formato lettera è quasi altrettanto male che tenerlo sullo schermo. Soprattutto quando il tuo editore insiste nel mettere intestazioni e piè di pagina in margini di 1 ". Fortunatamente, gli IDE moderni offrono molti strumenti che riducono la necessità di stampare le cose.


1

Non stampo nulla per me stesso e stampo per gli altri solo quando non riesco a uscirne. Odio anche ricevere stampe. Mi ingombrano la mia scrivania e poi sono responsabile per loro (salvarlo? Archiviarlo? Distruggerlo? Usarlo come scarto?)

Intendiamoci, lavoro vicino a qualcuno che ha fatto la codifica del mainframe per alcuni decenni e ha una pila alta di stampe di codici accanto a lui.

Fai quello che funziona per te immagino. Basta non lasciare le tue stampe sulla mia scrivania, grazie.


1

Una risposta leggermente diversa a quelle sopra.

Sono uno studente e mi ritrovo a stampare il codice per vari manuali di corsi, ma non per ogni unità in cui devo scrivere codice.

Nel mio primo anno la maggior parte delle unità ha richiesto una copia cartacea oltre a un caricamento elettronico o una copia masterizzata su CD (sì, un CD per un file zip da 5 Mb ...) [La scelta del docente]

Sono attualmente al mio secondo anno e finora abbiamo avuto un solo caricamento elettronico e un manuale Hardcopy + CD.

Considerando che abbiamo Moodle che consente l'invio elettronico dei corsi, il motivo per cui non cariciamo sempre il codice è al di là di me - dobbiamo pagare per stampare le cose sulle stampanti universitarie e non c'è un singolo masterizzatore CD su nessuno dei PC di cui sono a conoscenza. Certo, ai docenti non piace Moodle - ma questa è un'altra domanda del tutto.

A proposito, sono uno studente universitario del Regno Unito, e non uno piccolo, sconosciuto. Il mio era tra i primi 10 di Uni secondo The Times / Guardian quando ho guardato l'ultima volta.


Questo mi ricorda un progetto che ho realizzato in uni, dove è stato richiesto un rapporto scritto. Doveva essere all'interno di 10 pagine e il codice doveva essere allegato come appendice perché al docente piaceva guardare il codice durante la lettura del rapporto. Fortunatamente, l'appendice non contava per il numero totale di pagine. Quindi al docente è stato consegnato un file PDF di 90 pagine. Non so se ha effettivamente stampato il documento. ^^
gablin

1

I nuovi strumenti mi supportano meglio e mi consentono di navigare velocemente e offrono molti tipi di riepiloghi e visualizzazioni. Pertanto non stampo più spesso di prima. Ma la lettura sequenziale delle stampe è ancora più semplice. Il mio motivo personale principale per la stampa è psicologico: mi impedisce di continuare a cercare e mentre la stampante inizia a pensare! Anche l'effetto benefico di alzarsi e camminare verso la stampante non deve essere sottovalutato :)


0

Stampo il codice in modo da poter fare un confronto fianco a fianco (i miei monitor al lavoro non sono widescreen). A casa, ho un ampio schermo in modo da poter visualizzare comodamente due documenti fianco a fianco.


0

Ai tempi in cui le leggi statunitensi non consentivano l'esportazione di crittografia avanzata, gli sviluppatori open source con sede negli Stati Uniti erano soliti stampare il codice e inviarli via posta ordinaria al di fuori degli Stati Uniti, dove venivano scansionati da volontari. Ma non sono sicuro che questo risponda alla tua domanda;)


0

In alcune occasioni stampo codice peloso per cercare di capirlo. Ho anche stampato lo smontaggio durante il debug di qualcosa di "strano".


0

Nel mio ultimo lavoro avrei stampato il codice per le revisioni del codice. È bello essere in grado di evidenziare / contrassegnare un po 'di codice quando si è in giro a fare una revisione del codice in modo da avere un buon riferimento per eventuali problemi che sono stati sollevati durante la revisione.

Inoltre, quando ho dovuto refactoring (finendo per essere una riscrittura) un pezzo di codice particolarmente nodoso e contorto, in realtà ho stampato il codice sorgente, ho registrato le stampe sul muro, quindi ho usato bit di stringa per mostrare come la logica è stata intrecciata insieme.


0

In questi giorni, mai. Ho il supporto di più monitor se devo fare riferimento ad alcuni codici particolarmente difficili. I moderni dischi rigidi non mi lampeggiano, memorizzando un codice lungo anche diverse migliaia di righe. Il codice di stampa IMHO è dispendioso e generalmente inutile, ma sono solo io.

Detto questo, quando stavo imparando per la prima volta a sviluppare / programmare, non pensavo nulla di stampare 20 pagine di codice, quindi suppongo che ci potrebbe essere un tempo e un posto per esso, ma trovo che in questi giorni non ci sia molto uso.


0

Stampo sempre il mio codice, ma solo perché sono uno studente che deve farlo per consegnarlo all'istruttore.

Tuttavia, poiché ho accesso a più monitor ( come qualsiasi buon sviluppatore ), non ho avuto molte situazioni in cui ho bisogno di stampare il codice sorgente per riferimento. Una volta ho stampato uno degli script che ho usato per popolare un database in modo da poter vedere lo schema a colpo d'occhio, ma non mi sembra di usarlo molto.


0

Stampavo il codice abbastanza spesso, ma lo faccio meno ora che ho più monitor sulla mia scrivania - spesso terrò una parte di un elenco che sto usando come riferimento sul mio monitor destro (che è in qualche modo fuori da il lato) e il mio lavoro attuale di fronte a me.

Se stampo ode, è quasi sempre il codice da qualcuno o da qualche altra parte (libreria) che voglio studiare, e ho bisogno di girare le pagine avanti e indietro.

Quasi sempre stampo il codice in modalità orizzontale, a causa della tendenza a utilizzare le righe lunghe.


0

Negli ultimi 10 anni, ricordo solo di aver stampato il codice, quindi posso usare penne evidenziatore per contrassegnare sezioni che hanno qualcosa in comune prima di pianificare come rifrattore del codice.

Tuttavia, a volte mi manca la possibilità di stampare su un ampio foglio continuo, poiché la stesura del codice sul pavimento potrebbe fornire una buona visione d'insieme, soprattutto insieme a penne evidenziatori colorate e note di post-it. I cercapersone stampati in A4 non sono migliori di quelli che offre un monitor ragionevole.

I monitor sono diventati molto migliori e più grandi mentre le stampanti sono peggio per il codice di quanto non fossero in passato.

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.