Abby's Digital Cafe

Introducción a Variables y Constantes en Programación

Introducción: ¿por qué importa distinguirlas?

Las variables y constantes son las herramientas básicas para guardar información en un programa. Imagina cajas con etiquetas: las variables son cajas cuyo contenido puedes cambiar, y las constantes son cajas selladas cuyo contenido permanece fijo. Entender cuándo usar cada una te evita errores, hace tu código más claro y facilita su mantenimiento.

¿Qué es una variable?

Una variable es un identificador que hace referencia a un valor almacenado en memoria y cuyo contenido puede cambiar a lo largo del programa. Las variables sirven para llevar contadores, almacenar entradas de usuario, estados temporales, resultados intermedios, etc. Su valor puede modificarse tantas veces como lo necesite la lógica.

[java]
int edad = 25; edad = 26; // la variable cambia su valor

Conceptos clave sobre variables: scope (ámbito) — dónde son accesibles—, tipo (si el lenguaje lo exige) y lifetime (duración). Por ejemplo, una variable declarada dentro de una función sólo existe mientras esa función se ejecuta.

¿Qué es una constante?

Una constante es un identificador para un valor que no debe cambiar después de su declaración. Las constantes ayudan a evitar valores mágicos en el código (por ejemplo, usar 3.1416 directamente) y facilitan los cambios: si el valor cambia, lo actualizas en un solo lugar.

[typescript]
const PI = 3.1416; // PI = 3.15; // ❌ Error: no se puede reasignar

En algunos lenguajes (como C++ o Java) la constante se garantiza mediante palabras clave (final, const) y el compilador avisará si intentas modificarla. En lenguajes dinámicos como Python se suele usar la convención de mayúsculas para indicar que algo es constante, aunque técnicamente no impide reasignación.

Ejemplo práctico: área de un círculo (paso a paso)

  1. Define la constante PI porque su valor no debería cambiar dentro de tu cálculo.
  2. Lee o fija el radio como variable (puede venir del usuario).
  3. Calcula el área con la fórmula area = PI * radio * radio y guarda el resultado en otra variable.
  4. Muestra o devuelve el resultado.
[typescript]
const PI = 3.1416; let radio = 5; // puede venir del usuario let area = PI * radio * radio; console.log(`Área: ${area}`);

Buenas prácticas y convenciones

  • Usa nombres descriptivos: saldoCuenta mejor que s.
  • Declara constantes en mayúsculas si tu equipo lo prefiere: MAX_REINTENTOS.
  • Prefiere la inmutabilidad cuando sea posible: reduce errores por efectos colaterales.
  • Limita el scope: declara variables en el bloque más pequeño en el que se usen (los bloques de código se marcan entre llaves { } ).
  • Evita "valores mágicos" (números o strings sin explicación) y colócalos como constantes con nombre.

Errores comunes y cómo evitarlos

  • Reasignar por error una constante (solución: usar palabras clave del lenguaje y pruebas).
  • Usar variables globales innecesarias que aumentan el acoplamiento (solución: reducir scope).
  • Confundir tipo de datos (ej.: concatenar string con número sin conversión).
  • No documentar unidades (metros vs centímetros) al usar constantes numéricas.

¿Puedo cambiar una constante después de declararla?

Depende del lenguaje: en Java y TypeScript (con const) no puedes reasignarla. En Python la convención indica que no se debe cambiar, pero técnicamente sí podrías reasignarla —por eso la disciplina del equipo importa—. Si necesitas cambiar un valor, probablemente debería ser una variable.

¿Cuándo usar variable en lugar de constante?

Usa variable cuando el valor sea realmente cambiante: entrada de usuario, contadores, estados temporales, respuestas a eventos. Usa constante para parámetros que describen la lógica del sistema y que no cambian durante la ejecución normal (por ejemplo, tasas, límites, códigos de estado).

¿Cómo afecta el scope al comportamiento de variables?

El scope determina dónde puedes leer o modificar una variable. Variables locales evitan colisiones y hacen el código más predecible. Una mala elección de scope (usar global cuando no hace falta) es fuente común de bugs.

Ejemplos de referencia en varios lenguajes

[python]
# Python (convención: constantes en MAYÚSCULAS) PI = 3.1416 radio = 4 area = PI * radio * radio print(f"Área: {area}")
[java]
// Java public class Circulo { public static final double PI = 3.1416; // constante public static void main(String[] args) { int radio = 4; // variable double area = PI * radio * radio; System.out.println("Área: " + area); } }
[cpp]
// C++ #include <iostream> constexpr double PI = 3.1416; // constante en tiempo de compilación int main() { int radio = 4; double area = PI * radio * radio; std::cout << "Área: " << area << " "; return 0; }
[typescript]
// TypeScript const PI = 3.1416; let radio: number = 4; const area = PI * radio * radio; console.log(`Área: ${area}`);

Resumen y siguientes pasos

Dominar variables y constantes es uno de los primeros pasos para escribir código limpio y seguro. Practica declarando constantes para valores fijos y variables para datos que cambian. Revisa tus proyectos antiguos y busca valores mágicos que puedas convertir en constantes: es un ejercicio pequeño con gran impacto en la calidad del código.

Comentarios