Usando sublinhado em nomes de arquivos?

20

Eu uso a linha de comando com freqüência para navegar pelos meus arquivos, então tento não ter espaços nos nomes dos arquivos. Normalmente eu tenho usado um sublinhado para conectar palavras, mas recentemente foi sugerido que eu deveria usar um traço. Há alguma desvantagem em usar um sublinhado em nomes de arquivos? Devo mudar para um traço? Meu sistema está executando o Xubuntu e eu quase exclusivamente uso o shell bash.

Obrigado

    
por KennyPeanuts 04.04.2011 / 19:09

6 respostas

19

No que diz respeito ao sistema operacional, ambos são tão úteis quanto o outro.

Uma coisa que eu notaria - alguns softwares (como alguns sistemas de reprodução de vídeo - XBMC, etc.) substituirão automaticamente sublinhados por espaços ao exibir arquivos para torná-los mais bonitos.

Só por esse motivo, ficaria tentado a sublinhar.

Além disso, os hífens são usados para alternar para comandos, portanto, pode ser um pouco confuso ter hífens em seus nomes de arquivos, bem como nas suas opções de comando.

Além disso, é apenas uma escolha pessoal.

    
por 04.04.2011 / 19:17
16

Dash não requer que você pressione SHIFT, o que significa que você digita mais rápido. Esse é o único outro benefício que posso imaginar acima do que o Sr. Jenkins sugeriu.

Provavelmente, a pessoa que faz essa sugestão é um ávido usuário do Vim e deseja fazer tudo com a menor quantidade de movimento do teclado.

    
por 04.04.2011 / 19:33
8

Minha recomendação é usar sublinhados em vez de espaços. Sublinhados são geralmente a convenção que as pessoas usam quando substituem espaços, embora os hífens também estejam bem, eu diria. Mas, como os hifens podem aparecer de outras formas, como palavras hifenizadas, você terá mais sucesso em preservar um valor de nome usando sublinhados. Por exemplo, se você tiver um arquivo chamado "Uma foto tirada em Winston-Salem, NC.jpg" e desejar converter os espaços em sublinhados, poderá preservar o hífen no nome e manter seu significado.

Espaços causam problemas para pessoas que querem usar a linha de comando de maneiras avançadas, como em loops como este:

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

Se algum dos arquivos de mp3 correspondidos por esse caractere curinga tiver espaços em seu nome, ele fará com que o nome do arquivo seja dividido em seções em vez de todo. Você pode contornar isso alterando a variável IFS do shell BASH ou usando o comando find, mas é um aborrecimento e muitas pessoas não sabem disso, então pode causar problemas.

Eu duvido que isso ou até mesmo uma campanha de adesivos para carros impeça as pessoas de colocar espaços em nomes de arquivos, mas se você quiser ajudar a si mesmo, mais poder para você e obrigado em nome daqueles que se importam.

    
por 04.04.2011 / 20:03
5

A única razão pela qual você deve considerar o uso de hífens em vez de sublinhados é a legibilidade básica. Os sublinhados frequentes tendem a distorcer a leitura, pois altera a linha da sua visão do centro do eixo y para o fundo. No entanto, os hífens facilitam a visão.

No que diz respeito ao sistema operacional, ambos os caracteres são igualmente válidos e não requerem escape (o que os espaços fazem e, portanto, são trabalhosos).

    
por 04.04.2011 / 19:35
3

Eu pessoalmente prefiro hífens por sublinhado porque você não precisa segurar a tecla Shift para eles. Mas uma coisa a lembrar é que se você estiver fazendo principalmente codificação python - e sua árvore de código tem arquivos / diretórios com hífen neles e você pretende usá-los como módulos (faça um nome de arquivo de importação em seu código), isso causará erros como módulos python não podem ter hífen neles. É claro, existem maneiras indiretas de importar módulos que têm hífen, mas eu continuo com o sublinhado, uma vez que também segue as diretrizes do PEP-8.

Portanto, para a maioria dos meus bin / programas ou aliases eu uso hífens, mas quando se trata de escrever programas / módulos em python - eu uso sublinhados.

    
por 01.11.2014 / 14:57
2

Existem boas razões para usar hifens em qualquer contexto baseado na web que mapeia para um sistema de arquivos Unix.

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

Como desenvolvedor da Web, isso me obrigou a manter os hífens ao separar as palavras.

    
por 27.10.2016 / 05:48