Rastrear espaços em branco é um problema suficiente para programadores que editores como o Emacs têm funções especiais que o destacam ou se livram dele automaticamente, e muitos padrões de codificação exigem que você elimine todas as instâncias dele. Eu não tenho muita certeza do porquê. Posso pensar em um motivo prático para evitar espaços em branco desnecessários, e é que, se as pessoas não tiverem cuidado em evitá-lo, elas poderão alterá-lo entre confirmações, e então obteremos diferenças poluídas com linhas aparentemente inalteradas, apenas porque alguém removeu ou adicionou um espaço.
Isso já soa como uma boa razão para evitá-lo, mas quero ver se há mais do que isso. Então, por que rastrear espaços em branco é tão importante?
coding-style
whitespace
EpsilonVector
fonte
fonte
Respostas:
Razões que são importantes para mim:
Quando pressiono a tecla "Finalizar", espero que o cursor vá para o final da linha (dependendo do editor que estou usando e como está configurado) e espero poder começar a digitar imediatamente. Se o cursor chegar lá e eu tiver que excluir 3 ou 4 caracteres, é irritante. Especialmente se for inconsistente em todo o (s) arquivo (s).
Quando tenho literais de string que abrangem várias linhas, o espaço em branco à direita pode fazer com que a string de saída pareça incorreta quando usada.
Embora não seja estritamente programado, o espaço em branco pode atrapalhar seriamente a entrada de dados, se houver um rastreamento / avanço em um arquivo que será analisado e usado como entrada para outra coisa. Isso acontece mais quando um arquivo de entrada limpo e gerado é sujado por alguém editando-o no Excel ou algo assim e, em seguida, os espaços em branco à esquerda (e outros problemas de formatação) podem aparecer.
fonte
Eu realmente odeio deixar espaços em branco, mas o motivo exato é um pouco vago.
Acho que a origem desse sentimento não está na programação, mas no campo da editoração eletrônica. Você já digitou um documento por outra pessoa que precisava ser digitado em uma publicação? Em todas as publicações modernas, especialmente ao usar colunas, é personalizado que as frases se sigam sequencialmente em um parágrafo, sem iniciar uma nova linha para cada frase. Bem, quando há espaço em branco à direita, é preciso muito mais esforço para acertar (muita pesquisa e substituição de ações que eliminam espaços duplos, etc ...).
Outras razões (na programação), não boas razões, eu sei, mas elas incomodam minha psique subconsciente de maneira tão intensa e agravante que me obrigam a eliminá-la:
Sim, sim, eu sei! Eu sei, essas são razões inúteis. Eu não sou perfeccionista, mas ... bem, talvez eu seja?
A última razão pela qual consigo pensar é no movimento inconsistente do cursor. Parece que o cursor está pairando no ar no final de uma linha, cada passo à direita pode fazer com que ele caia ou paire ainda mais em uma extensão desconhecida, apenas se sente instável (como aqueles blocos invisíveis ou desaparecidos que Super Mario costumava pular).
Provavelmente posso ser diagnosticado com trilhaspacefobia?
fonte
Muitas dessas respostas quase tocam no motivo de ser ruim para mim, mas basicamente: "quebra" os editores de texto. Minha experiência é com vim.
O Vim foi projetado para que ações comuns sejam mapeadas para as letras de maneira tão limpa que você nem precise pensar em qual letra ou combinação de teclas deve ser atingida. Várias teclas de atalho permitem que o cursor pule o texto tão rapidamente que são necessárias apenas algumas teclas para chegar aonde você quiser. Até coisas como dobrar blocos de código são rápidas, já que você pode pressionar END ou $ para pular para o final da linha, onde o cursor deve se sobrepor {ou} ou (ou) ou algo assim - não há necessidade de interromper seu fluxo de pensamento para tenha uma ideia na tela.
Mas então surge um espaço em branco à direita, e os movimentos do cursor não são mais previsíveis. Seu processo de digitação está sendo interrompido porque algo que você não pode ver está afetando aonde o cursor vai, então você precisa interromper sua linha de pensamento para enviá-lo para onde deveria estar.
Você já reparou como as pessoas ficam aborrecidas quando estão realmente focadas em uma tarefa e alguém as interrompe? Sim, encontrar espaços em branco à direita quando menos se espera é exatamente assim.
Como nota de rodapé, também notei que as pessoas que não se importam com o espaço em branco à direita são as que usam o mouse para navegação e tendem a ser digitadoras mais lentas por causa disso ...
fonte
%s/ *$//
Surpreendentemente, a resposta mais óbvia está faltando: o espaço em branco à direita pode e irá produzir bugs difíceis de encontrar.
A situação mais óbvia são as seqüências multilinhas. Python, JavaScript e Bash são alguns exemplos das linguagens que podem ser afetadas por isso:
produz:
que é de alguma forma enigmática e difícil de resolver se o editor não estiver configurado para exibir caracteres de espaço em branco.
Embora o destaque da sintaxe possa ajudar a evitar esses casos, é ainda mais fácil não ter o problema em primeiro lugar, não deixando espaços em branco no final das linhas. É por isso que alguns verificadores de estilo emitem um aviso ao encontrar espaços em branco à direita, e alguns editores os cortam automaticamente.
Ilustração: o destaque da sintaxe pode ajudar a evitar o espaço em branco à direita em situações nas quais pode levar a erros, mas não confie apenas nele.
Outro contexto, brevemente mencionado em uma resposta anterior , são os dados armazenados em arquivos.
Por exemplo, arquivos CSV que contêm espaços em branco à direita podem causar inconsistência de dados, o que também é muito difícil de detectar: analisadores compatíveis com padrões cortam o espaço em branco (o padrão indica que o espaço em branco à esquerda ou à direita é irrelevante, a menos que seja delimitado com aspas duplas), mas alguns analisadores podem se comportar mal e manter o espaço em branco como parte de um valor.
Outros formatos personalizados podem considerar especificamente que espaço em branco é a parte do valor, levando a situações consistentes, mas ainda difíceis de depurar.
fonte
Recentemente, passei um dia procurando um bug que acabou sendo um espaço em branco inesperado nos dados.
fonte
Quando seleciono o código-fonte do programa para copiá-lo e colá-lo (ou excluí-lo), acho um pouco irritante ver todo o espaço em branco extra irregular no final das linhas: já que preciso ler o código enquanto o seleciono , o espaço em branco à direita é um ruído desnecessário. Exemplo (pontos representam o espaço em branco):
Este exemplo é artificial, mas já vi muitos códigos parecidos com este.
fonte
Além do problema óbvio de que ele quebra a análise em certos casos? Como outro pôster observou, pode causar erros sutis e difíceis de rastrear. Espaço em branco nem sempre é insignificante. Em alguns casos, o espaço em branco à direita pode alterar significativamente o significado de uma linha de código ou dados.
Na maioria dos casos, há espaço em branco para formatar o código para leitores humanos. O espaço em branco à direita pode indicar várias coisas, incluindo:
Dois deles podem resultar em funções incorretas e outro pode dificultar a compreensão do código.
fonte
Existem linguagens de programação sensíveis ao espaço em branco da linha final. Por exemplo, um script TCL emitirá um erro se houver um espaço em branco no final de uma linha.
fonte