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:
- ocho espacios siempre serán dos veces más largos que cuatro espacios en cualquier fuente.
- dos pestañas siempre tendrán el doble de longitud que una pestaña en cualquier fuente.
- cualquier identificador en una línea siempre tendrá el mismo ancho en la siguiente línea ... ¡en cualquier fuente!
- Claro, si tus compañeros de equipo están usando monoespacio y tú no, se verá diferente ... pero deberías estandarizar algo, sea lo que sea, y si eso es cierto, se verá igual para todos. ..en CUALQUIER fuente! Para reírse, también puede intentar mantener a todos en monoespacio y dar a la mitad de ellos monitores de pantalla ancha ... vea cómo va eso.
- Si está haciendo algo que se basa en alinear el código en función de la posición en columna de esos caracteres en la pantalla, y no el alcance de los identificadores que está utilizando, supongo que lo que está haciendo es un truco. Los identificadores nunca deben limitarse a un cierto número de caracteres a costa de la calidad de sus nombres. Aparte de eso ... todavía no está dibujando cuadros ASCII con asteriscos para comentarios en su código, ¿verdad?
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:
identifier.Method().Property.ToString();
identifier.Method().OtherGuy.ToString(); //how lined up and pretty!
identifier.Method().Sumthing.YouGetThePoint;
- identifier.Method (). Property.ToString ();
- identifier.Method (). OtherGuy.ToString (); //¡Oh no! desalineado!
- identifier.Method (). Sumthing.YouGetThePoint; //...¿pero a quién le importa? son propiedades diferentes!
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.