Perché un programmatore dovrebbe usare gli spazi sopra le tabulazioni?

Migliore risposta

Per prima cosa lasciatemi premettere che sono un programmatore professionista da circa 10 anni e lo sono stato mi diletto nella programmazione da quasi 20 anni (da quando ero molto giovane). Ho scritto PHP, Java, C ++, Python, JavaScript, C #, ASP e QBasic (sì, sono vecchio). Inoltre mi occupo regolarmente di SQL, CSS e HTML.

Ho utilizzato editor su Windows, Linux e Mac. Ho anche usato editor allinterno di finestre di terminale. Sto programmando professionalmente da circa 10 anni. Posso dirti per esperienza personale, avendo utilizzato più di 30 editor (sia editor di testo come VIM e Nano sia IDE come Visual Studio e PhpStorm), che la visualizzazione predefinita delle schede negli editor varia notevolmente.

Inoltre, anche quando si danno loro le stesse impostazioni, a volte si hanno altre stranezze e incongruenze causate dalleditor o dal font delleditor. Gli spazi semplicemente non hanno questo problema perché sono un costrutto di linguaggio standard.

Una cosa che ho notato costantemente è che la maggior parte delle guide di stile di programmazione, come PHP-FIG, ti dice di usare gli spazi di tabulazione. Si tratta di tabulazioni che utilizzano spazi per imitare il carattere di tabulazione. A volte chiamato smart tabbing.

Questo è supportato in ogni editor a cui puoi pensare che sia ragionevolmente moderno. Quindi largomento sulla velocità è completamente ridicolo. Per quanto riguarda largomento sullo spazio occupato sul disco. Letteralmente a nessuno importa circa mezzo byte in più nella dimensione del file. Se questa è la tua preoccupazione, ti stai davvero fregando dello spazio su disco e dei costi.

Lunico argomento rimasto è il display visivo. È qui che gli spazi lasciano le linguette nella polvere. Non vedrai la coerenza nelle schede che vedi con gli spazi. Gli spazi hanno lo stesso aspetto in tutti gli editor. Le schede variano notevolmente e se devi mai aprire un file in un editor di terminale (ad esempio quando ispezioni qualcosa su un server remoto) odierai trattare con le schede, specialmente quando devi scorrere verso destra in un editor di solo testo.

Se desideri coerenza e standardizzazione (specialmente gli standard più comuni), utilizzerai gli spazi. Se vuoi concentrarti solo su lamentele ridicole e far arrabbiare gli altri sviluppatori con cui lavori, usa le schede.

Risposta

I vantaggi delle schede sugli spazi sono:

  • I singoli sviluppatori possono scegliere rientri diversi per il loro codice.
  • Usano anche meno spazio di archiviazione.

Tuttavia le schede hanno problemi.

Le schede interagiscono male con le larghezze massime delle colonne. Il progetto sceglie le larghezze massime delle colonne per diversi motivi, tra cui garantire che gli sviluppatori possano eseguire differenze affiancate sui loro monitor e garantire che gli sviluppatori possano scansionare rapidamente il codice. (Le lunghezze delle righe riducono la velocità di lettura. Questo è uno dei motivi per cui gli editori utilizzano più colonne nei libri di testo.)

Supponiamo che il tuo standard di codifica specifichi una lunghezza massima di riga di 80 colonne.

Il primo sviluppatore lo sviluppatore ha una riga che è stata rientrata quattro volte e utilizza unimpostazione di rientro di due tag. Ciò significa che il codice è rientrato di 8 colonne. Lo sviluppatore scrive una riga completa. Quella riga è composta da 72 caratteri.

Questo codice va a un revisore. Il revisore esamina il codice utilizzando un rientro di tabulazione di 4 caratteri. Le quattro schede sono ora larghe 16 caratteri. La riga ora va alla colonna 88. Il revisore dice allo sviluppatore di tagliare 8 caratteri.

Il secondo revisore che guarda il codice usa un rientro di 8 caratteri. Il revisore esamina il codice utilizzando un rientro di tabulazione di 8 caratteri. Le quattro schede sono larghe 32 caratteri. Il revisore dice allo sviluppatore di troncare 24 caratteri.

Questi problemi scompaiono se si utilizzano spazi o si specifica unimpostazione di tabulazione uniforme per lorganizzazione. Se stai specificando unimpostazione di tabulazione fissa, hai eliminato uno degli argomenti principali per lutilizzo delle tabulazioni per cominciare.

Ora consideriamo un documento here o una stringa multilinea contenente testo formattato. Potresti incorporare un diagramma creato con uno strumento come asciiflow o monodraw. Se utilizzi le tabulazioni per i rientri, il rientro dei disegni richiederà lutilizzo di una combinazione di rientri e spazi. Affinché funzioni con rientri di tabulazione diversi, è necessario:

  • Utilizzare una combinazione di tabulazioni iniziali seguite da spazi per allinearsi a una data colonna. Tutte le righe nellimmagine devono avere lo stesso numero di rientri di tabulazione altrimenti limmagine non apparirà corretta se utilizzata con altre impostazioni di rientro di tabulazione.
  • Inserendo un carattere marcatore per indicare linizio della sezione delimitata da spazi. per esempio. \ t / * \ n \ t * foo \ n \ t *. | \ n \ t * bar \ n \ t * / \ n
  • Abbandonare lo standard di tabulazione in queste aree grafiche.
  • Metti fuori legge stringhe o commenti su più righe.

Tutti questi problemi scompaiono quando usi gli spazi per i tuoi rientri.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *