programacion-indentacion

Qué es la indentación de código

La indentación se refiere a la técnica de agregar un espacio inicial (indentado) al principio de las líneas de código, que ayuda a delimitar visualmente los bloques y estructuras de control.

Para hacer el indentado se agregan espacios o tabulaciones al principio de las líneas de código y resaltar la jerarquía de las estructuras de control, como bucles, condiciones y funciones.

La indentación adecuada permite que el código sea más fácil de entender y mantener, ya que ayuda a identificar rápidamente los bloques de código y las relaciones entre ellos. Además, facilita la detección de errores y mejora la colaboración en proyectos de programación.

Hay gente que prefiere tabulaciones, hay gente que prefiere tres espacios, hay gente que prefiere cuatro. No voy a entrar en ese debate (no os imaginaríais lo radicales que se vuelven algunos con eso).

Personalmente, me da igual. Lo que si es importante es que seas consecuente con el estilo que elijas dentro de un mismo proyecto, y alineados con las pautas de estilo de la empresa o organización con la que colabores.

Indentación no significativa

La indentación no significativa se utiliza en lenguajes de programación como C#, Java y C++. En estos lenguajes la indentación del código no tiene un significado semántico, y únicamente tiene efectos visuales para mejorar la legibilidad.

En estos lenguajes, la estructura del código se define mediante el uso de llaves {} u otras palabras clave específicas como end para delimitar bloques de código.

public static void CalcularDescuento(decimal precio)
{
	// <---- esa indentación es meramente visual
	if (precio > 100)
	{
		decimal descuento = precio * 0.1m;
		decimal precioFinal = precio - descuento;
		Console.WriteLine("Se aplica un descuento del 10%");
	}
	else
	{
		Console.WriteLine("No se aplica descuento");
	}
}

En este caso, la indentación en estos lenguajes es opcional, y es únicamente una convención de estilo utilizada para mejorar la legibilidad del código fuente.

De hecho, la mayoría de IDE proporcionan herramientas de autoformato, que permiten aplicar el indentado automáticamente al código, sin tener que hacer nada más que pulsar un botón o una combinación de teclas.

Indentación significativa

Por otro lado, la indentación significativa se utiliza en lenguajes como Python o CoffeScript. En estos, los bloques de código se definen mediante la propia indentación, en lugar de emplear llaves u otras palabras clave para delimitarlos.

def calcular_descuento(precio):
	# aqui la indentación es la que define el bloque
    if precio > 100:
        descuento = precio * 0.1
        precio_final = precio - descuento
        print("Se aplica un descuento del 10%")
    else:
        print("No se aplica descuento")

En estos lenguajes, la intentación es semántica, es decir, tiene significado. Por tanto es obligatoria y necesaria, y usarla incorrectamente conlleva errores de sintaxis o de ejecución.

Ventajas y desventajas

Como casi siempre existe, no hay una opción mejor que otra (de lo contrario, no existirían ambas). Cada una tiene sus ventajas y desventajas.

En cualquier caso, la elección entre la indentación no significativa y la indentación significativa depende del lenguaje de programación y, en gran medida, de las preferencias personales y a lo que nos hayamos acostumbrado.