Uno de los debates más antiguos y enconados en la industria del desarrollo de software es la cuestión de cómo sangrar el código: ¿es mejor usar tabulaciones o espacios? A primera vista, podría parecer una cuestión trivial, pero este dilema ha generado múltiples discusiones acaloradas entre programadores a lo largo de las décadas. La historia de la disputa 'tabulaciones vs. espacios' se remonta a los inicios de la programación, cuando el almacenamiento era un recurso muy limitado y caro (muy caro).
|
etiquetas: programación , sangrado , tabulador , espacio
Y luego usas fuentes proporcionales y te pones a depurar Python o YAML.
Pero en serio, alguien usa el espacio para sangrar? Siempre he usado la tabulación, y la IDE se encarga de gestionarlo como sea. Así, no te preocupas. Y de que sea un estándar. Pero, lo normal es sangrar con la tabulación.
Por cierto abro otro melon:
1 TAB deberian ser dos espacios. Cuatro es una locura.
Los que tabulan con espacios también imponen la sangría.
Porque básicamente el resto de editores ya hacen eso que comentas por defecto desde hace más de una década (desde vim y Emacs hasta vscode y jetbrains, pasando por sublime, notepad++ y neovim).
Convertir tabs a espacios no es problema, pero luego ir directo a la columna como si fueras de tab en tab no sé si hay que configurarlo o cómo lo hace la gente. Generalmente los editores por defecto no veo que tengan esa opción
El código ha de estar correctamente identado para que sea fácil leer, y ya ni eso, que (salvo en Python y otras aberraciones) el IDE te identa automáticamente.
Salid del siglo XIX, hombre ya.
peps.python.org/pep-0008/#tabs-or-spaces
De todas fornas cualquier IDE moderno yo creo que le puedes configurar que te reemplace el tab por espacios automáticamente. Lo mejor de los dos mundos.
Qué ventaja es que visualmente se vea igual en todos los entornos? Ninguna.
Go es con tabulaciones y va perfecto, y se ve muy bien, cada uno como quiere en su entorno.
Te ahorras tiempo, espacio en disco, y encima cada usuario verá el código a su gusto personal.
Si a mi me gusta indentar a 5 espacios y a mi compañero a 3 espacios, qué hacemos? No tocamos nunca el código que haya escrito el otro?
Hay tontalabas por ahí que indentan a 1 espacio!!!!!!! Cómo puedes entender un código un poco complejo así??????
Por favor.....
Punto
A buen entendedor pocas palabras bastan
Por eso es mejor usar espacios
Por favor! Todo el mundo lo sabe! El tabulador es la forma natural de indentar!
Y porque los entornos de desarrollo modernos formatean automáticamente el código con un comando. El formato tiene un estándar, y hay que dedicarle el tiempo justo y evitar el bikeshedding.
Precisamente para eso parecería mejor usar el tabulador. Así tú después en tu entorno regulas si quieres que el tabulado corresponda con lo que ocupan dos caracteres o cuatro, y el resto de personas, lo que prefieran.
El tabulador da flexibilidad: vas a propiedades y le dices "ahora quiero que el tabulador mida 4", y listo.
Porque es casi todo YAML y no las acepta .
del Gobiernode la notación húngara .La de discusiones inútiles que se tienen por un simple "es lo que siempre se ha hecho y no vamos a cambiar ahora", sin pensar que ni siquiera se sabe por qué se hacía, y por qué mantener eso puede ser un problema a la hora de integrarse con sistemas sin tanta obsolescencia.
Vamos, que al final es lo de siempre. Cuatro entienden algo del por qué, y la mayoría sigue la linde como buen Lemming.
A dia de hoy no existe ese problema.
Es como la estupidez de limitar el largo de linea a 80 caracteres... que tenia mucho sentido en el pasado, puesto que los monitores no podian mostrar mas de 80 caracteres por linea, pero a fecha de hoy ya no existe tal limitacion.
O en apps móviles donde al principio el instalable tenía lo mínimo porque el app completa no cabía en las stores. O el mismo YouTube que al principio no permitía subir vídeos de horas de duración.
O incluso un ejemplo de SSOO que me chutaron en la carrera. Cuando hay que cargar en caché una página de RAM tenía sentido hacer un algoritmo para elegir la que había que sacrificar en su lugar. Hasta que la caché progresó, se pudo cargar más páginas al mismo tiempo, y elegir a boleo empezó a dar el mismo rendimiento que calcular la elección. Ejemplos de limitaciones que se quedan obsoletas los hay a porrillo.
puesto que los monitores no podian mostrar mas de 80 caracteres por linea
En realidad es muy anterior ... de las tarjetas perforadas que eran de 80 caracteres.
Monitores ... ¡menuda modernez!
Punto.
En realidad se almacena (mayoritariamente) como 00001001
Yo solo quería dejar claro que sin almacenar como espacios.
los tabuladores haremos lo que nos dé la gana, que obviamente, es lo mejor!
Guerra tipográaaaaficaaa!!!!!!!
Guerra tipográficaaaaaaaaaaa!!!!!!!!!!
Edit: y a #20 también.
Aunque sea de subnormales, el espacio es el standard.
Pq un subnormal un día lo dijo y todos los lerdini le siguieron la bola.
Lo normal es que el ide ya te cambie el tabulador solo por los espacios.
Yo ya pongo espacios desde hace añisimos y si se te da por poner un tabulador no puedes subir el commit pq el prepush te manda a cagar.
Si trabajas conmigo y yo quiero 6 espacios, el código conjunto es una mierda.
Con tabuladores, cero problemas.