Sangrado, sangría, o a veces indentación, indica la acción de mover un bloque de texto hacia la derecha insertando espacios o tabuladores, para así separarlo del margen izquierdo y distinguirlo mejor del texto adyacente.
En los lenguajes de programación de computadoras, la indentación es un tipo de notación secundaria utilizado para mejorar la legibilidad del código fuente por parte de los programadores, teniendo en cuenta que los compiladores o intérpretes raramente consideran los espacios en blanco entre las sentencias de un programa. Sin embargo, en ciertos lenguajes de programación como Haskell, Occam y Python, el sangrado se utiliza para delimitar la estructura del programa permitiendo establecer bloques de código.
Son frecuentes discusiones entre programadores sobre cómo o dónde usar el sangrado, si es mejor usar espacios en blanco o tabuladores, ya que cada programador tiene su propio estilo.
Terminología
Indentación es un anglicismo (de la palabra inglesa indentation) de uso común en informática; no es un término reconocido por la Real Academia Española (consultado en la vigesimosegunda edición). La Real Academia recomienda utilizar «sangrado».
Ejemplos
Sangrado en SQL
Ejemplo 1 - Sentencia en el lenguaje SQL sin usar sangrado:
SQL> insert into nombre_de_la_tabla (var1,var2,var3) values (valor1,valor2,valor3);
En este primer ejemplo se muestra la introducción de valores (valor1,valor2,valor3) en los campos (var1,var2,var3) de la tabla nombre_de_la_tabla. La instrucción se ejecutará de forma correcta, sin embargo, su lectura de un vistazo puede resultar confusa.
Ejemplo 2 - La misma sentencia aplicando sangrado:
SQL> insert into nombre_de_la_tabla (var1,var2,var3) values (valor1,valor2,valor3);
Sangrado en C
El siguiente código escrito en lenguaje C muestra en pantalla las tablas de multiplicar.
Sin sangrado:
#include <stdio.h> int main () { int i, j; for (i = 0; i <= 10; i++){ for (j = 0; j <= 10; j++){ printf("%i x %i = %i\n", i, j, i * j); } } return 0; }
Con sangrado:
#include <stdio.h> int main () { int i, j; for (i = 0; i <= 10; i++) { for (j = 0; j <= 10; j++) { printf("%i x %i = %i\n", i, j, i * j); } } return 0; }