Usi la sottolineatura nei nomi dei file?


26

Uso frequentemente la riga di comando per navigare nei miei file, quindi cerco di non avere spazi nei nomi dei file. In genere ho usato un carattere di sottolineatura per collegare le parole, ma recentemente mi è stato suggerito di usare un trattino. Ci sono degli svantaggi nell'uso di un carattere di sottolineatura nei nomi dei file? Devo passare a un trattino? Il mio sistema esegue Xubuntu e uso quasi esclusivamente la shell bash.

Grazie



1
Se utilizzerai LaTeX, potresti dover proteggere il nome del file tra un paio di parentesi {...}. In caso di script automatico dovresti considerarlo. Il _viene utilizzato per creare un pedice e devono essere inclusi per esempio in $...$all'errore evitare, ma verrà generato un testo diverso da quello che vi aspettate. Anche nel terminale potenziato di gnuplot ..
Hastur

Risposte:


23

Per quanto riguarda il sistema operativo, entrambi sono utilizzabili l'uno rispetto all'altro.

Una cosa che vorrei notare - alcuni software (come alcuni sistemi di riproduzione video - XBMC ecc.) Sostituiranno automaticamente i caratteri di sottolineatura con spazi durante la visualizzazione dei file per renderli più belli.

Solo per questo motivo sarei tentato di attenermi ai caratteri di sottolineatura.

Inoltre, i trattini vengono utilizzati per passare ai comandi, quindi potrebbe essere un po 'confuso avere trattini nei nomi dei file e nelle opzioni dei comandi.

A parte questo, è solo una scelta personale.


1
Uso i trattini, ma è perché mi piace l'aspetto migliore. Alla ragione tecnica dietro di esso.
beatgammit

Grazie! Questo è quello che sospettavo, ma ho anche scoperto che i miei sospetti da solo possono mettermi nei guai.
DQdlM,

16

Dash non richiede di premere MAIUSC, il che significa che si digita più velocemente. Questo è l'unico altro vantaggio che mi viene in mente al di sopra di quanto suggerito dal signor Jenkins.

Probabilmente la persona che sta dando quel suggerimento è un appassionato utente di Vim e desidera fare tutto con il minimo movimento di tastiera.


7
Se così fosse, userebbero viinvece - una pressione di tasto in meno;)
Majenko

4
@Matt è comunque aliasedito v;-)
Daniel Beck

+1 Per lo stesso motivo, utilizzo i trattini bassi con nomi in maiuscolo, come FOO_BAR(non uso il blocco maiuscole, quindi è bello poter tenere premuto Maiusc tutto il tempo).
Richard Hansen,

@DanielBeck In realtà ce l'ho nei miei alias bash, così come gper git:)
Jan Warchoł

Credo che vim consideri due parole separate dal trattino come una sola parola, quindi questo potrebbe essere un motivo per usare i caratteri di sottolineatura nei nomi dei file come utente vim.
oddRaven,

8

La mia raccomandazione è di usare i trattini bassi invece degli spazi. Le sottolineature sono di solito la convenzione che le persone usano quando sostituiscono gli spazi, anche se direi anche i trattini va bene. Ma poiché i trattini potrebbero apparire in altri modi come le parole sillabate, avrai più successo nel preservare un valore di nome usando i trattini bassi. Ad esempio, se si dispone di un file chiamato "Un'immagine scattata in Winston-Salem, NC.jpg" e si desidera convertire gli spazi in caratteri di sottolineatura, è possibile conservare il trattino nel nome e mantenerne il significato.

Gli spazi causano problemi alle persone che desiderano utilizzare la riga di comando in modi avanzati come in loop come questo:

for file in *.mp3 ; do mpg321 $file -w - | oggenc -o ${file%%.mp3}.ogg - ; done

Se uno qualsiasi dei file mp3 corrispondenti a quel carattere jolly ha spazi nel loro nome, il nome del file verrà suddiviso in sezioni anziché nel loro insieme. Puoi aggirare questo problema modificando la variabile IFS della shell BASH o usando il comando find, ma è un fastidio e molte persone non lo sanno, quindi può causare problemi.

Dubito che questa o anche una campagna adesiva per paraurti impedirebbe alle persone di inserire spazi nei nomi dei file, ma se vuoi aiutare te stesso, più potere per te e grazie a nome di quelli di noi che ci tengono.


1
Sono totalmente d'accordo. Un nome file ben costruito non ha bisogno di spazi.
DQdlM,

4
@KennyPeanuts - ma un programma ben scritto non soffoca negli spazi.
Detly

2
@detly - touche '
DQdlM

1
@detly No, un buon programmatore capisce che ci devono essere limiti in ciò che puoi fare e dovresti fare. Se dici che non dovrebbe soffocare negli spazi, allora qualcuno potrebbe farlo e dire che non dovrebbe soffocare alla fine della linea, quindi qualcuno direbbe che non dovrebbe soffocare /, quindi qualcuno potrebbe dire che non dovrebbe soffocare alla fine del file. C'è un vecchio detto "Formula per il fallimento: cerca di piacere a tutti".
deltaray,

1
Le specifiche del filesystem indicano a cosa codificare, né più né meno. Su Ext2 / 3/4, ad esempio, un nome file può contenere qualsiasi carattere tranne \0o \\\`. Coding to anything less than that is broken by design. So, no, it shouldn't choke on spaces, or EOL, or non-ASCII characters, or anything that isn't \ 0` o `\`. L'uso delle funzioni di libreria per la manipolazione del percorso dei file è la strada da percorrere, perché molte altre persone hanno già risolto questi problemi.
Detly

5

L'unica ragione per cui dovresti considerare l'uso di trattini anziché di trattini bassi è per la leggibilità di base. I caratteri di sottolineatura frequenti tendono a distorcere la lettura, poiché cambia la linea della visione dal centro dell'asse y al fondo. I trattini tuttavia rendono più facile la vista.

Per quanto riguarda il sistema operativo, entrambi i personaggi sono ugualmente validi e non richiedono la fuga (quali spazi fanno, e quindi sono un dolore con cui lavorare).


2
Trovo che la ragione di leggibilità di base sia puramente soggettiva. Trovo i caratteri di sottolineatura più facili da leggere perché posso praticamente ignorarli visivamente, non leggerli, mentre i trattini li devo effettivamente leggere.
Goliatone,

3

Personalmente preferisco i trattini al trattino basso perché non è necessario tenere premuto il tasto Maiusc per loro. Ma una cosa da ricordare è che se stai principalmente eseguendo la codifica Python - e la tua struttura di codice contiene file / directory con trattino e hai intenzione di usarli come moduli (fai un nome di file di importazione nel tuo codice), allora questo causerà errori poiché i moduli Python non possono contenere trattini. Naturalmente, ci sono modi rotondi di importazione di moduli che hanno un trattino, ma mi atterrei al trattino basso poiché segue anche le linee guida PEP-8.

Quindi per la maggior parte dei miei bin / programmi o alias uso trattini, ma quando si tratta di scrivere programmi / moduli Python, uso i trattini bassi.


2

Ci sono buoni motivi per usare trattini in qualsiasi contesto basato sul Web che si associa a un file system Unix.

URL               What search indexes see
foo-baz-bang      foo baz bang
foo_baz_bang      foobazbang

Come sviluppatore web, questo mi ha costretto a rimanere con trattini quando separavo le parole.


1
Il contesto sopra menzionato è probabilmente correlato, tra l'altro, a un post sul blog di Matt Cutts del 2005 che prevede la preferenza algoritmica di Google per trattini rispetto ai trattini bassi come un indicatore migliore di un segnaposto di spazio bianco.
jmmygoggle,
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.