2010-08-16 12 views
7

Ho preso l'abitudine di rimuovere gli spazi bianchi finali dal mio file sorgente. In effetti, ho il mio editore per farlo automaticamente. Ho preso questa abitudine usando git; ha creato un'abitudine a cui aderisco.I vantaggi dello stripping degli spazi bianchi finali?

La mia domanda riguarda il fatto che non posso giustificare questo comportamento. Posso capire che in alcuni campi, come i web designer, può avere un impatto sul loro risultato finale. Per programmatore però, cosa ne ricaveremo? Non possiamo lasciarlo dentro?

risposta

8

Mi piace anche ritagliare gli spazi. Non v'è alcun requisito tecnico per farlo, ma ha alcuni vantaggi:

  • Trailing spazi bianchi 'irritante in molti editor quando il cursore si trasforma righe, come si può finire nella "trailing zona spazio bianco" della linea quando vai da una riga più lunga a una più breve, richiedendo sequenze di tasti in più per arrivare alla parte che vuoi modificare
  • Potrebbe far sì che l'editor mostri una barra di scorrimento orizzontale che altrimenti non sarebbe necessaria, il che a sua volta ti costringe a scorrere verso il diritto di assicurarsi che non manchi il testo

Soprattutto, tuttavia, vi è un enorme vantaggio (IM HO) per utilizzare una formattazione coerente in tutto il codice sorgente (spaziatura, indentazione, stile di parentesi graffa ...). Ciò rende il codice più facile da leggere ed evita le diff ampie differenze dalle riformattazioni (se è sempre formattato correttamente, non è necessario riformattare).

Pertanto, si consiglia di lasciare che un formattatore venga eseguito automaticamente ogni volta che si salva (o almeno per ogni commit). In questo modo, lo spazio bianco finale può essere eliminato come un effetto collaterale :-).

+0

Tra i motivi di cui, penso che si effettua un buon punto per quanto riguarda la coerenza al fine di ridurre le grandi diff. – Pran

3

Non si dice quale lingua si sta utilizzando, ma in C-alikes, lo spazio bianco finale interessa le macro.

considerare:

#define FNORD() \ 
    something complicated here 

L'\ funziona solo se è l'ultimo carattere sulla linea --- quindi spazio bianco dopo causerà la rottura.

+0

+1 Punto buono e lo stesso concetto può essere applicato ad altre situazioni. Ad esempio, in ruby ​​puoi usare \ per avere una stringa su più righe. – Pran

+0

Perl e sh/bash usano anche una barra rovesciata per continuare una riga e soffrirebbero dello stesso problema. Lo stesso vale per "here documents" in Perl e sh/bash. – sleske

+0

Ovviamente, se in realtà * vuoi * trailing spazi bianchi in un documento qui, non vuoi spogliarlo. Ma per fortuna non devo programmare in bash ... – sleske