Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Sintaxis Básica y Nomenclatura

Reglas de estilo para el formato visual y nombres en C

Universidad Nacional de Rio Negro - Sede Andina

Sintaxis Básica y Nomenclatura (0x00XX)

Regla 0x0000h: La claridad y prolijidad son de máxima importancia

El código debe ser claro y fácil de entender para cualquier lector, no solo para su autor. Un código limpio y prolijo previene errores, facilita el mantenimiento y mejora la colaboración en equipo. La claridad es siempre preferible a técnicas de programación ofuscadas que solo complican la comprensión.

- for (int i = 0, j = 10; i < j; i++, j--) { printf("%d", i+j); }
+ int i = 0;
+ int j = 10;
+ while (i < j)
+ {
+     printf("%d", i + j);
+     i++;
+     j--;
+ }

Regla 0x0001h: Los identificadores deben ser descriptivos

Los nombres de variables, funciones y demás identificadores deben reflejar con precisión su propósito. Esto contribuye a que el código sea autodescriptivo, minimizando la necesidad de comentarios adicionales. El uso de nombres significativos facilita la lectura y la comprensión.

int a, b;
a = obtener_precio();
b = calcular_descuento(a);
int precio, descuento;
precio = obtener_precio();
descuento = calcular_descuento(precio);

Sin embargo, no debés temer el uso de nombres de variables cortos

Bajo ciertas condiciones, los nombres cortos son aceptables y hasta preferibles:

  1. Si el ámbito de la variable es reducido (visible en una sola pantalla).

  2. Si la variable se utiliza con alta frecuencia en ese ámbito.

  3. Si existe un identificador de una o dos letras cuyo significado es obvio en el contexto (matemático, contadores, etc.).

Probá y observá si el nombre corto contribuye a la legibilidad.

El ejemplo canónico es el uso de i y j como variables de control en lazos. Otras situaciones se presentan al implementar algoritmos matemáticos donde la notación es estándar.

Regla 0x0002h: Una declaración de variable por línea

-int a, b, c;
+int a;
+int b;
+int c;

Regla 0x0003h: Siempre debés inicializar las variables a un valor conocido

Es imperativo que una variable utilizada como R-Value contenga un valor conocido antes de su uso.

Aunque un sistema operativo moderno pueda inicializar la memoria en 0, la reutilización de la misma puede introducir valores residuales. No debés confiar en una inicialización implícita.

int contador;
int contador = 0;

Esto incluye evitar inicializaciones implícitas en estructuras.

struct Datos datos;
struct Datos datos = {0};

Regla 0x0004h: Un espacio antes y después de cada operador binario

-uno=dos+tres;
+uno = dos + tres;

Regla 0x0005h: Cada bloque debe tener una indentación de cuatro espacios respecto a su contenedor y llaves

Esto permite una alineación consistente y mejora la legibilidad de la estructura del código.

void funcion() {
int x = 10;
if (x > 5) {
        printf("Mayor");
    }
}
void funcion() {
    int x = 10;
    if (x > 5) {
        printf("Mayor");
    }
}

Esto aplica incluso para bloques de una sola línea.

- if (condicion) accion;
+ if (condicion) {
+     accion;
+ }

Regla 0x0006h: El asterisco de los punteros debe declararse junto al identificador

Esta convención facilita la identificación visual de una variable como puntero y mejora la claridad.

-int* ptr;
+int *ptr;

Regla 0x0007h: Los argumentos de función y las variables locales deben usar snake_case en minúsculas

Regla 0x0008h: Las constantes (const o #define) deben nombrarse en MAYUSCULAS_SNAKE_CASE

Esta convención de estilo de nomenclatura mejora la legibilidad. Un identificador en mayúsculas actúa como una señal visual inmediata, indicando que se trata de un valor inmutable.

Regla 0x0009h: Las líneas de código no deben exceder los 79 caracteres

Nunca debés escribir líneas que excedan los 79 caracteres. El límite de 80 columnas es un estándar de facto que facilita la lectura y la visualización de código en paralelo. Las líneas largas fatigan la vista y requieren desplazamiento horizontal.

Regla 0x000Ah: Escribí comentarios que expliquen el “porqué”, no el “qué”

Los comentarios deben aportar valor y aclarar la intención detrás del código, no parafrasear lo que el código ya expresa de forma evidente. El código en sí mismo debe ser lo suficientemente claro para explicar qué hace.