El espacio en blanco final es un problema suficiente para los programadores ya que los editores como Emacs tienen funciones especiales que lo resaltan o lo eliminan automáticamente, y muchos estándares de codificación requieren que elimine todas las instancias. Sin embargo, no estoy completamente seguro de por qué. Puedo pensar en una razón práctica para evitar espacios en blanco innecesarios, y es que si las personas no tienen cuidado de evitarlo, entonces podrían cambiarlo entre confirmaciones, y luego se contaminan las diferencias con líneas aparentemente sin cambios, solo porque alguien eliminó o Agregó un espacio.
Esto ya parece una buena razón para evitarlo, pero quiero ver si hay algo más que eso. Entonces, ¿por qué el espacio en blanco final es tan importante?
fuente
Respuestas:
Razones por las que es importante para mí:
Cuando presiono la tecla "Fin", espero que el cursor vaya al final de la línea (dependiendo del editor que esté usando y cómo esté configurado) y espero poder comenzar a escribir de inmediato. Si el cursor llega allí y tengo que eliminar 3 o 4 caracteres, es molesto. Especialmente si es inconsistente en todo el archivo (s).
Cuando tengo literales de cadena que abarcan varias líneas, los espacios en blanco finales pueden hacer que la cadena de salida se vea incorrecta cuando se usa.
Si bien no se trata de una programación estricta, el espacio en blanco puede alterar seriamente la entrada de datos, si hay un seguimiento / inicio en un archivo que se analizará y utilizará como entrada para otra cosa. Esto sucede más cuando un archivo de entrada limpio y generado se ensucia por alguien que lo edita en Excel o algo así y luego puede arrastrarse el espacio en blanco (y otros problemas de formato).
fuente
Realmente odio el espacio en blanco, pero la razón exacta es un poco vaga.
Supongo que el origen de ese sentimiento no está en la programación, sino en el campo de la publicación de escritorio. ¿Alguna vez alguien mecanografió un documento que necesitaba ser mecanografiado en una publicación? En todas las publicaciones modernas, especialmente cuando se usan columnas, es costumbre que las oraciones se sigan secuencialmente dentro de un párrafo, sin comenzar una nueva línea para cada oración. Bueno, cuando hay espacios en blanco al final, se necesita mucho más esfuerzo para hacerlo bien (muchas acciones de búsqueda y reemplazo que eliminan los espacios dobles, etc.).
Otras razones (en programación), no buenas razones, lo sé, pero molestan mi psique subconsciente de una manera tan intensa y agravante que me obligan a eliminarla:
¡Si si lo se! Lo sé, estas son razones basura. No soy perfeccionista, pero ... bueno, ¿tal vez lo soy?
La última razón por la que puedo pensar es el movimiento inconsistente del cursor. Se siente como si el cursor estuviera suspendido en el aire al final de una línea, cada paso a la derecha puede hacer que se caiga o se mueva más lejos hasta un punto desconocido, simplemente se siente inestable (como esos bloques invisibles o desaparecidos que Super Mario solía saltar sobre).
¿Probablemente me puedan diagnosticar con trailpacefobia?
fuente
Muchas de estas respuestas casi tocan la razón por la que es malo para mí, pero básicamente: "rompe" a los editores de texto. Mi experiencia es con vim.
Vim está diseñado para que las acciones comunes se asignen a letras de manera tan limpia que ni siquiera tenga que pensar en qué letra o combinación de teclas presionar. Varias teclas de acceso rápido permiten que el cursor salte alrededor del texto tan rápido que solo se necesitan un par de teclas para llegar al lugar que desee. Incluso cosas como doblar bloques de código es rápido, ya que puede presionar FIN o $ para saltar al final de la línea, donde el cursor debe superponerse {o} o (o) o algo así; no es necesario interrumpir su flujo de pensamiento para tener una idea en la pantalla.
Pero luego aparece un espacio en blanco al final, y los movimientos del cursor ya no son predecibles. Su proceso de escritura está siendo interrumpido porque algo que no puede ver está afectando a dónde va el cursor, por lo que debe romper su tren de pensamiento para enviarlo a donde debería estar.
¿Alguna vez has notado lo molestas que están las personas cuando están realmente concentradas en una tarea y alguien las interrumpe? Sí, encontrar espacios en blanco al final cuando menos se espera es exactamente así.
Como nota al margen, también he notado que las personas que no se preocupan por los espacios en blanco finales son las que usan el mouse para la navegación, y tienden a ser mecanógrafos más lentos debido a eso ...
fuente
%s/ *$//
Sorprendentemente, falta la respuesta más obvia: el espacio en blanco al final puede y producirá errores difíciles de encontrar.
La situación más obvia son las cadenas multilínea. Python, JavaScript y Bash son algunos ejemplos de los lenguajes que pueden verse afectados por esto:
produce:
que de alguna manera es críptico y difícil de resolver si el editor no está configurado para mostrar caracteres de espacio en blanco.
Si bien el resaltado de sintaxis puede ayudar a evitar tales casos, es aún más fácil no tener el problema en primer lugar al no dejar espacios en blanco al final de las líneas. Esta es la razón por la cual algunos correctores de estilo emitirán una advertencia al encontrar espacios en blanco al final, y algunos editores los recortarán automáticamente.
Ilustración: el resaltado de sintaxis puede ayudar a evitar espacios en blanco al final en situaciones en las que puede provocar errores, pero no confíe solo en él.
Otro contexto, mencionado brevemente en una respuesta anterior , son los datos almacenados en archivos.
Por ejemplo, los archivos CSV que contienen espacios en blanco finales pueden causar inconsistencia de datos que también es muy difícil de detectar: los analizadores que cumplen con los estándares recortarán los espacios en blanco (el estándar indica que los espacios en blanco iniciales o finales son irrelevantes, a menos que estén delimitados con comillas dobles), pero algunos analizadores pueden comportarse mal y mantener el espacio en blanco como parte de un valor.
Otros formatos personalizados pueden considerar específicamente que el espacio en blanco es la parte del valor, lo que lleva a situaciones consistentes pero aún difíciles de depurar.
fuente
Recientemente pasé un día buscando un error que resultó ser un espacio en blanco final inesperado en los datos.
fuente
Cuando selecciono el código fuente del programa para copiarlo y pegarlo (o eliminarlo), me resulta un poco molesto ver todo el espacio en blanco extra irregular al final de las líneas: ya que tengo que leer el código mientras lo selecciono , el espacio en blanco final es un ruido innecesario. Ejemplo (los puntos representan el espacio en blanco):
Este ejemplo es artificial, pero he visto mucho código que se ve así.
fuente
¿Además del problema obvio de que rompe el análisis en ciertos casos? Como ha señalado otro afiche, puede causar errores sutiles y difíciles de rastrear. El espacio en blanco no siempre es insignificante. En algunos casos, los espacios en blanco finales pueden cambiar significativamente el significado de una línea de código o datos.
En la mayoría de los casos, hay espacios en blanco para formatear el código para lectores humanos. Los espacios en blanco finales pueden indicar varias cosas, incluyendo:
Dos de estos pueden resultar en un funcionamiento incorrecto, y otro puede dificultar la comprensión del código.
fuente
Hay lenguajes de programación que son sensibles al espacio en blanco de la línea final. Por ejemplo, un script TCL generará un error si hay un espacio en blanco al final de una línea.
fuente