1. Riepilogo
Non capisco, perché ho bisogno della regola E010 bashate .
2. Dettagli
Uso bashate per i .sh
file di sfilacciatura . Regola E010:
fare non sulla stessa linea per
for
bashate:
Corretta:
#!/bin/bash for f in bash/*.sh; do sashacommand "$f" done
Errore:
#!/bin/bash for f in bash/*.sh do sashacommand "$f" done
C'è qualche argomento valido, perché ho bisogno for
e do
nella stessa linea?
3. Non utile
Non riesco a trovare una risposta alla mia domanda in:
- Articoli sulle migliori pratiche di codifica ( esempio )
documentazione di base . Trovo solo :
Un insieme di regole che aiutano a mantenere le cose coerenti nei blocchi di controllo. Questi sono ignorati su lunghe file che hanno una continuazione, perché srotolarsi è un po '"interessante"
bashate
è un controllo di stile . Gli stili sono intrinsecamente soggettivi. Non usarlo se non ti piace lo stile artibrario che impone. Dovresti invece prendere in considerazione una sintassi / un bug checker come shellcheck .
E010
- solo stile regola o , in alcuni casi ho bisogno per e faccio nella stessa linea non solo per ragioni di stile.
do
. È come indentare la parentesi graffa iniziale di un if
e aggiungere codice su quella stessa riga in una lingua come C. Un altro esempio, se python lo permettesse, sarebbe quello di inserire :
un if
rientro sulla riga successiva e aggiungere codice su quella stessa riga. Lo farà differire con le linee aggiuntive nel corpo.
do
è sicuramente un po 'insolito, mafor ... \ndo\n<indent>body...
è estremamente comune e lo stimerei anche di piùfor ... ; do
. Si lamenta anche di questo?