Si los lenguajes fueran personas, las convenciones de nombres serían su forma de vestir. Todos hacen lo mismo —guardar datos en variables—, pero cada uno lo escribe distinto. Entenderlo te evita errores al saltar de Python a Java o de JavaScript a C#.
💡 Ruta progresiva: primero tipos de datos → luego funciones → luego una clase simple → herencia → crear objetos. Usa el selector de lenguaje y ve el mismo ejemplo escrito en 6 sabores.
¿Cómo se declara una variable? — paso a paso
La lógica siempre es nombre = valor (con tipo si el lenguaje lo exige). Aprende en orden:1. tipos → 2. métodos → 3. clase → 4. herencia → 5. instancias.
1 Tipos de datos — lo más básico
Python es dinámico: no escribes el tipo, solo nombre = valor en snake_case.
tipos.py
PYTHON
1edad = 25# int
2precio = 19.99# float
3nombre = "Ana"# str
4activo = True# bool
5nada = None# NoneType
6
7# constante → UPPER_SNAKE_CASE (convención)
8MAX_LIMITE = 10000
2 Métodos / Funciones
Funciones sueltas con def y snake_case. Siempre con : y indentación.
funciones.py
PYTHON
1def saludar(nombre):
2return f"Hola {nombre}"
3
4def sumar(a, b):
5return a + b
6
7print(saludar("Ana")) # Hola Ana
8print(sumar(2, 3)) # 5
3 POO — una clase con atributos y métodos
Clase en PascalCase, atributos y métodos en snake_case. self es la propia caja.
clase.py
PYTHON
1class CuentaBancaria: # PascalCase
2def __init__(self):
3self.saldo_actual = 0# snake_case
4self.titular = ""
5
6def depositar(self, monto): # snake_case
7self.saldo_actual += monto
8
9def consultar_saldo(self):
10returnself.saldo_actual
4 Herencia
Una clase hija extiende a la base con (Padre) y usa super().
herencia.py
PYTHON
1class CuentaAhorro(CuentaBancaria): # hereda
2def __init__(self):
3super().__init__()
4self.tasa_interes = 0.02
5
6def calcular_interes(self):
7returnself.saldo_actual * self.tasa_interes
5 Crear instancias (objetos)
Instanciar es Clase() sin new. Luego llamas a sus métodos con ..
instancias.py
PYTHON
1# crear objetos
2cuenta = CuentaBancaria()
3cuenta.depositar(1000)
4print(cuenta.consultar_saldo()) # 1000
5
6ahorro = CuentaAhorro()
7ahorro.depositar(1000)
8print(ahorro.calcular_interes()) # 20.0
PEP 8: todo en snake_case excepto clases. Si ves saldoActual en Python, es code smell.
1 Tipos de datos
Java es estático: debes decir tipo nombre = valor; en camelCase.
Tipos.java
JAVA
1int edad = 25;
2double precio = 19.99;
3String nombre = "Ana"; // String con mayúscula
4boolean activo = true;
5finalint MAX_LIMITE = 10000; // constante → UPPER_SNAKE + final
2 Métodos / Funciones
Métodos siempre dentro de una clase, en camelCase. Necesitan tipo de retorno y parámetros tipados.
Metodos.java
JAVA
1publicclass Util {
2// método estático → camelCase
3publicstaticStringsaludar(String nombre) {
4return"Hola " + nombre;
5 }
6publicstaticintsumar(int a, int b) {
7return a + b;
8 }
9}
10// uso: Util.saludar("Ana")
3 POO — clase con atributos y métodos
Clase en PascalCase, atributos/métodos en camelCase.
CuentaBancaria.java
JAVA
1publicclass CuentaBancaria { // PascalCase
2privateint saldoActual = 0; // camelCase
3privateString titular = "";
4
5publicvoiddepositar(int monto) { // camelCase
6 saldoActual += monto;
7 }
8publicintconsultarSaldo() {
9return saldoActual;
10 }
11}
4 Herencia
Se usa extends. La hija hereda atributos y métodos de la base.
PHP = Java + $. Olvidar -> o $ es error inmediato.
1 Tipos de datos
Estático y con ;. Elige camelCase o snake_case y sé consistente.
tipos.cpp
CPP
1int edad = 25;
2double precio = 19.99;
3std::string nombre = "Ana";
4bool activo = true;
5constint MAX_LIMITE = 10000; // UPPER_SNAKE
2 Funciones
funciones.cpp
CPP
1#include <string>
2std::stringsaludar(std::string nombre) { // camelCase o snake_case
3return"Hola " + nombre;
4}
5intsumar(int a, int b) {
6return a + b;
7}
3 POO — clase
CuentaBancaria.cpp
CPP
1class CuentaBancaria { // PascalCase
2private:
3int saldoActual = 0; // o saldo_actual
4std::string titular = "";
5public:
6voiddepositar(int monto) { // camelCase
7 saldoActual += monto;
8 }
9intconsultarSaldo() {
10return saldoActual;
11 }
12};
4 Herencia
CuentaAhorro.cpp
CPP
1class CuentaAhorro : public CuentaBancaria { // : public
2private:
3double tasaInteres = 0.02;
4public:
5doublecalcularInteres() {
6returnconsultarSaldo() * tasaInteres;
7 }
8};
5 Crear instancias
main.cpp
CPP
1intmain() {
2 CuentaBancaria cuenta;
3 cuenta.depositar(1000);
4// std::cout << cuenta.consultarSaldo();
5
6 CuentaAhorro ahorro;
7 ahorro.depositar(1000);
8// ahorro.calcularInteres()
9return0;
10}
C++: sin new para objetos en stack. Elige un estilo y no lo mezcles.
La tabla que te salva en cualquier codebase
Guárdala. Es lo que los reclutadores revisan en segundos en tu GitHub:
Lenguaje
Clases / Interfaces
Métodos / Funciones
Variables / Atributos
Constantes
Python
PascalCase CuentaBancaria
snake_case calcular_total()
snake_case saldo_actual
UPPER_SNAKE MAX_LIMITE
Java
PascalCase CuentaBancaria
camelCase calcularTotal()
camelCase saldoActual
UPPER_SNAKE MAX_LIMITE
JavaScript
PascalCase CuentaBancaria
camelCase calcularTotal()
camelCase saldoActual
UPPER_SNAKE MAX_LIMITE
C#
PascalCase CuentaBancaria
PascalCase CalcularTotal()
camelCase saldoActual / _saldoActual
PascalCase / UPPER_SNAKE MaxLimite
PHP
PascalCase CuentaBancaria
camelCase calcularTotal()
camelCase $saldoActual
UPPER_SNAKE MAX_LIMITE
C++
PascalCase CuentaBancaria
camelCase o snake_case calcularTotal() / calcular_total()
camelCase o snake_case saldoActual / saldo_actual / m_saldoActual
UPPER_SNAKE MAX_LIMITE
Detalles clave (para no mezclar)
🐍 Python (PEP 8)
El único donde todo lo ejecutable (funciones, métodos, variables, atributos) va en snake_case. Solo las clases usan PascalCase. Si ves calcularTotal en Python, es code smell.
☕ Java
El estándar absoluto: PascalCase para clases, camelCase para todo lo demás (métodos, variables, parámetros). MAX_LIMITE siempre en mayúsculas.
🟨 JavaScript
Mismo estándar que Java. La confusión típica: usar snake_case por costumbre de Python. En JS profesional, todo es camelCase excepto clases.
🎮 C#
La gran diferencia: métodos y propiedades públicas en PascalCase (CalcularTotal(), SaldoActual { get; set; }). Lo privado usa _saldoActual.
🐘 PHP (PSR-12)
Clases PascalCase, métodos y variables camelCase con $. Olvidar el $ es error de sintaxis inmediato.
⚙️ C++
Conviven dos escuelas: Google/Qt (camelCase) y STL (snake_case). Lo importante: elige una y sé consistente en todo el archivo.
🧪 Mini reto: traduce el nombre
Tienes la variable saldo actual del usuario y el método calcular total del carrito. Escríbelos como se verían en Python vs Java:
Ver solución
Python
Código
PYTHON
1saldo_actual_usuario = 0
2def calcular_total_carrito():
3return saldo_actual_usuario
Java
Código
JAVA
1int saldoActualUsuario = 0;
2intcalcularTotalCarrito() {
3return saldoActualUsuario;
4}
Pista C#: sería CalcularTotalCarrito() (PascalCase) y saldoActualUsuario o _saldoActualUsuario.
Ponte a prueba
¿Dominas el cambio de chip entre lenguajes?
QuizQuiz: Variables y Convenciones
Son 6 preguntas de opción múltiple sobre esta lección. ¡Evalúa tus conocimientos!
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.