C'è una buona ragione per cui le linee con solo spazi bianchi dovrebbero essere troncate? [chiuso]

2

Tipicamente, quando premi Invio in un editor intelligente, copia il rientro dell'ultima riga inserendo la stessa quantità di spazi, quindi se non li elimini, il codice sarà simile a questo:

sub sum {
    my @numbers = @_;
   &nbsp
    my $sum = 0;
    foreach (@_) {
         $sum += $_;
    }
   &nbsp
    return $sum;
}

(Sì, l'esempio è sciocco, quel sub può essere scritto in due o tre righe.:))

Per essere onesti, queste linee rendono vertiginoso il mio cursore, quindi tendo a eliminarle. (Ammetto che questo comportamento genera rumore di commit + incoerenza). Inoltre, gli spazi bianchi sono byte non necessari. Beh, probabilmente nessuno di questi ha importanza, almeno nei modi più ovvi. Quindi mi chiedo se ci sia una ragione migliore (cioè meno soggettiva e meno eccessiva) per cui le linee dovrebbero essere cancellate (da s/^\s+$// ).

Nota: e prova a non indicarmi la guida di stile. Immagina che io sia quello che scrive la guida allo stile: dovrei ereditare la regola "cancella gli spazi extra" o coraggiosamente combatto la mia intuizione e lasciare quelli pacifici \t e da soli ?. O voglio solo migliorare la mia "guida" personale, che posso usare dove la guida "ufficiale" è silenziosa o mancante.

    
posta Alois Mahdal 15.12.2011 - 16:36
fonte

3 risposte

5

In generale, la formattazione degli spazi bianchi (e le guide di stile) servono gli sviluppatori rendendo il codice più facile da leggere. Se sei l'unico sviluppatore, allora lo stile che rende il codice più facile da leggere per te è quello giusto. Qualsiasi regola messa in atto è altamente personale e soggettiva - non esiste una risposta definitiva o errata.

    
risposta data 15.12.2011 - 17:35
fonte
2

OK, la maggior parte delle risposte e dei commenti riguardano se rimuovere o meno le righe vuote ... ma vedo dalla domanda e dalla regex che ciò a cui si sta realmente riferendo è il troncamento di linee che contengono SOLO spazi bianchi per solo righe vuote.

Ad esempio (\ t tab e \ n caratteri di nuova riga aggiunti per chiarezza):

foo(){\n
\t  int blah\n
\t  \n
\t  blah = 0;\n
\t  \n
\t  return blah;\n
}\n

sarebbe spogliato per:

foo(){\n
\t  int blah\n
\n
\t  blah = 0;\n
\n
\t  return blah;\n
}\n

Io personalmente vado in quelle schede aggiuntive. Diciamo che sono sulla linea 2 e decido di scendere alla riga 3 e aggiungere del codice. Il cursore sarà già nel posto giusto. Mentre colpire invio sulla linea 2 creerebbe una nuova riga con il rientro appropriato, potrei non essere alla fine della linea quando voglio andare a quella successiva e aggiungere qualcosa, quindi preferirei una freccia in giù piuttosto che [ fine] [Invio].

Ma forse è solo mia abitudine.

    
risposta data 15.12.2011 - 18:13
fonte
2

Perché i terminatori heredoc vuoti rendono le virgolette su più righe (incolpato Schwern per questo):

\t  my $value = $dbh->selectrow_array( << '', {}, $index );
\t  \t  SELECT value
\t  \t  FROM table
\t  \t  WHERE key = ?

\t  print $value;
    
risposta data 30.03.2012 - 21:45
fonte

Leggi altre domande sui tag