Por ejemplo, permite que el usuario defina la variable de ruta notoria. ¿Cómo lo interpretas apppath = C:\Program Files\App
?
Esto parece una práctica adoptada por el lenguaje de programación para ignorar los espacios en blanco y los deja alrededor de la marca de igualdad para facilitar la lectura, pero podría ser un valor variable válido con espacios en blanco en la aplicación (considere, es un sufijo).
Incluso las teclas pueden contener espacios en blanco, ¿no?
¿Cuál es la mejor práctica general para mi aplicación? Si tengo:
key-example = value-example
debería interpretar el ser clave "key-example"
o "key-example "
y el valor de ser "value-example"
o " value-example"
?
:
en lugar de=
porque lo uso exclusivamente en javascript (aunque mi pregunta no se limita a mi aplicación, por lo tanto, es irrelevante preguntar sobre su idioma), pero esto no me ayudó a leer la configuración como objeto JSON . JSON requiere todos los valores citados, lo cual es una carga innecesaria para el usuario.Respuestas:
Como usuario , no espero que el espacio en blanco a ambos lados del signo igual cambie el valor de la clave o el valor. Vea esta pregunta relacionada en unix.SE también sobre lo confusa que puede ser la situación.
No lo haga más difícil para sus usuarios, recorte los espacios en blanco de la clave y el valor. Si el espacio en blanco inicial tiene un caso de uso real para cualquiera de ellos, entonces deje que el usuario ajuste la clave o el valor entre comillas.
fuente
Depende de usted definir las reglas para su aplicación.
Por ejemplo, puede definir que:
Los espacios en blanco antes o después de ignorar el signo de igualdad,
El espacio en blanco dentro de la clave está prohibido,
El espacio en blanco dentro del valor solo se puede usar si el valor está entre comillas, entonces:
está prohibido, mientras que:
está permitido, lo que también hace posible tener prefijos de espacio en blanco:
Definir un formato puede ser una tarea compleja. Por ejemplo:
¿Cómo escapas de las citas?
¿Cómo escapas del personaje de escape que usas para escapar de las comillas?
¿Cómo manejas los valores vacíos?
¿Cuál es la longitud máxima de una clave? ¿Qué pasa con un valor?
¿Cómo manejas los valores multilínea?
¿Qué pasa con los caracteres Unicode de espacios en blanco que no sean un espacio (como un carácter de espacio sin interrupción)?
¿Qué pasa con los caracteres Unicode que generalmente no se muestran en la pantalla ? Por ejemplo, ¿cómo maneja las categorías Unicode Cf o Zl?
¿Cuáles son los caracteres permitidos en la clave? Por ejemplo, es:
una clave valida?
¿Debería funcionar la siguiente línea? ¹
Sugerencia: el signo de igualdad no es un signo de igualdad, sino el carácter 0xa60c (alargador de sílaba Vai). Aunque pocas personas usarían este símbolo en lugar de la igualdad, el caso más frecuente es una copia y pega de Microsoft Word (observe de cerca las comillas):
etc.
Es por eso que, a menos que esté completamente seguro de que puede definir un formato y describirlo de manera precisa y detallada, utilice un formato que ya exista .
JSON o XML son formatos de uso común que puede usar en casi todos los lenguajes de programación. Incluso puede abstraer el formato subyacente utilizando una base de datos. Redis , por ejemplo, es una solución popular para la tienda de valores clave.
Users Los usuarios de Chrome que usan Windows probablemente verán un signo de interrogación en un cuadrado. Con otros navegadores o con Chrome en Linux, el personaje aparece como un signo de igualdad y puede ser fácilmente engañoso: la única diferencia visual es que hay una pequeña diferencia en el espacio entre las barras horizontales.
fuente
=
y las citas no son el problema, mientras que no está claro con espacios en blanco porque prefiero tenerlos y esto crea ambigüedad. Decir que los espacios en blanco iniciales / finales están recortados es suficiente. Gracias.