He visto un par de temas de fuentes en SO y parece que la mayoría de la gente usa fuentes monoespaciadas para tareas de programación. He estado usando Verdana para la programación durante un par de años y realmente me gusta la legibilidad mejorada, sin perder nada relacionado con el espacio único.
¿Por qué utiliza una fuente monoespaciada?
ide
fonts
text-editor
Rik
fuente
fuente
Respuestas:
En una fuente monoespaciada:
Il 0O
fuente
Nunca antes había considerado codificar en una fuente proporcional. Así que en interés de la ciencia cambié de editor para intentarlo.
Aquí hay algunas observaciones después de arreglar un par de tickets fáciles:
!
operadorif (!foo)
. (si (! foo), mira!){}[]()
frente a {} [] ())$@%
frente a $ @%)'"!;:,.
vs '"!;:,.)0Oo iIl
vs 0Oo iIl)Sin embargo, hay algunos puntos positivos. Es cierto que solo lo he estado usando por un tiempo, pero ciertamente hay algunos aspectos que funcionan un poco mejor con fuentes proporcionales:
Actualizaré esta respuesta nuevamente mañana (¡suponiendo que pueda pasar un día entero como este!)
fuente
Me gusta alinear los condicionales relacionados para tratar de hacer más obvio que están agrupados. Por ejemplo:
Las fuentes de ancho variable hacen que esto sea más difícil.
fuente
Una cosa que sigo viendo aquí es la discusión sobre "alinear código" y sangría. Me gustaría señalar las siguientes cosas:
Entonces, dibujando todo esto en conjunto, si comienza cada línea en el mismo lugar, y el espaciado consistente tiene el mismo ancho, y los identificadores no cambian espontáneamente el ancho en cada línea, ¡entonces su código realmente se alineará! ... hasta que algo sea diferente.
por ejemplo:
El único punto que concederé es que los caracteres no alfanuméricos normalmente no son muy anchos; estos incluyen) (] [} {,: | "; ',`! y. Sin embargo, esto podría arreglarse en un editor de fuentes ... simplemente haciéndolos más anchos. No es un problema inherente a los espacios no monoespaciales; simplemente no hay No ha habido mucha demanda, por lo que aún no se ha hecho.
En resumen, la preferencia personal está bien, pero creo que hay pocas razones prácticas para preferir el espacio único sobre el no monoespacial. ¿Te gusta cómo se ve? Claro, haz monoespacio. ¿Quieres que quepan más cosas en tu pantalla? No sea mono. Pero la forma en que la gente trata el no monoespacio como si fuera una herejía es un poco exagerada.
fuente
Tengo curiosidad por este hilo porque muchos argumentos a favor de las fuentes monoespaciadas realmente se pueden refutar fácilmente con algunos ajustes. Así que cambié mi IDE a Calibri (porque tiene una cara redonda y agradable y está optimizado para la legibilidad en las pantallas para la interfaz de usuario, perfecto). Ahora, obviamente, tengo que usar pestañas en lugar de espacios para la sangría (ignorando todos los problemas) y el ancho de 4 espacios claramente no es suficiente, así que cambié a 10.
Se ve bastante bien ahora. Sin embargo, hay algunos problemas obvios que pude detectar. Más tarde podrían aparecer más, después de haber probado esta configuración por un tiempo.
Los símbolos no se alinean bien. Como ejemplo, considere el siguiente código C #:
La flecha (
=>
) parece una unidad en aproximadamente cualquier fuente monoespaciada. Parece dos caracteres adyacentes en otras fuentes. Lo mismo es cierto para operadores como,>>
etc.La sangría sensible al contexto está completamente rota: en algunos contextos no es suficiente sangrar un número fijo de pestañas. Tome expresiones LINQ que pueden tener sangría de la siguiente manera:
Simplemente no puede hacer esto con una fuente proporcional.
Con todo, los personajes son demasiado estrechos. Una vez más, un espaciado adicional entre letras podría ayudar y definitivamente es necesario en el caso de la puntuación. Sin embargo, tengo la sensación de que todos estos ajustes para hacer que las fuentes proporcionales sean más legibles simplemente emularían las fuentes monoespaciadas de forma natural. Ciertamente es cierto para todos los puntos mencionados hasta ahora.
fuente
Yo uso Comic Sans MS, que parece bastante razonable en tamaños de puntos pequeños (solo comienza a parecer "bromista" en tamaños de titulares). Es agradable a la vista, pero mantiene el texto lo suficientemente pequeño como para tener una cantidad razonable de código visible en la ventana de texto, con varios de los paneles acoplados de VS abiertos.
Puede sacar el panel del Explorador de soluciones y seguir teniendo 100 columnas de texto legibles sin desplazamiento horizontal. Además, puedo tener el panel DXCore Documentor (que muestra XMLDOC con formato) abierto lo suficiente para leer y al mismo tiempo poder ver suficiente texto para documentar los XMLdocs.
fuente
Si trabaja en equipo, las fuentes monoespaciadas garantizan que el código sea claro y esté correctamente distribuido para todos, independientemente de la fuente monoespaciada que prefieran usar.
Su código puede parecerle claro cuando usa una fuente de ancho variable, pero es poco probable que tenga el mismo aspecto si lo abre un usuario de fuente monoespaciada.
fuente
Todo lo que se necesita son unas pocas horas para tratar de averiguar por qué una búsqueda no encuentra algo porque tiene 2 espacios en lugar de 1 en su literal, para darse cuenta de que debe usar fuentes Monospace. Me pasó esto una vez cuando intentaba arreglar un agente de Lotus Notes, cuando el diseñador no estaba usando una fuente monoespaciada. No fue hasta que pegué el código en CodeWright para imprimirlo que fue obvio cuál era el problema.
fuente
Las fuentes monoespaciadas facilitan mucho la alineación del código.
Esto es especialmente cierto cuando se trabaja con un equipo; todos en el equipo pueden usar diferentes fuentes, y siempre que sean monoespaciadas, todo se alineará. De manera similar, si una sola persona usa muchas herramientas de desarrollo diferentes, todo se alineará si todas son monoespaciadas. Si no fueran todos monoespaciados, tendría que asegurarse de que todos usen la misma fuente, y si está desarrollando en dos plataformas, puede ser difícil.
De hecho, algunas herramientas de desarrollo solo admiten fuentes monoespaciadas.
Otra razón es que las fuentes monoespaciadas tienden a tener caracteres más distintos. Compare lIiO0 con
lIiO0
y verá lo que quiero decir. También hacen que sea mucho más fácil contar los espacios en blanco.fuente
Sospecho que las fuentes monoespaciadas eran una preferencia de los programadores como un remanente de los días de DOS basados en texto.
Por otro lado, yo mismo probé Verdana y un par de otras fuentes proporcionales recomendadas, pero no pude soportar el cambio. Mi ojo está demasiado bien entrenado para el espacio único. Los lenguajes con muchos símbolos, como: C / C ++, C #, Perl, etc., se ven demasiado diferentes para mí. La ubicación de los símbolos hace que el código se vea completamente diferente.
fuente
Por la naturaleza del código en lugar del lenguaje normal, es mejor tenerlo alineado correctamente. Además, en la edición de código, a veces desea bloquear la selección, bloquear la copia y bloquear el pegado. En Visual Studio, puede hacer la selección de bloques usando la tecla ALT mientras realiza la selección del mouse. Puede ser diferente en diferentes editores, pero siempre he encontrado esa opción en un editor muy importante en algunos casos, y no funcionaría muy bien, a menos que esté usando una fuente monoespaciada.
fuente
Personalmente, encuentro las fuentes monoespaciadas más fáciles de leer en los editores de código. Por supuesto, estoy casi ciego. Eso podría hacer una diferencia. Actualmente ejecuto la fuente consolas en 15 puntos con un fondo oscuro con letras de alto contraste.
fuente
Usar espacios para la sangría sería un problema una vez que haya profundizado más de un nivel.
fuente
Principalmente con fines de alineación (como cuando las declaraciones de parámetros de funciones abarcan varias líneas y desea alinearlas, o alinear comentarios, etc.).
fuente
Creo que, al igual que el tema de los caracteres de tabulación, el factor de complicación es cuando algo tiene sangría para fines de alineación y alguien más tiene preferencias diferentes. Las cosas se desalinean.
fuente