Variables y Declaración
Una variable es un campo personalizado que vive un instante. Aprende a crearlo: tipo, nombre y valor.
✓ En esta sub-lección
- 01Declarar una variable eligiendo el tipo antes que el valor.
- 02Distinguir declarar, asignar y reasignar.
- 03Nombrar variables como las nombra un equipo de desarrollo real.
La nutria: Antes de empezar, una de Admin
Cuando creas un campo nuevo en Object Manager, ¿qué es lo primero que Salesforce te obliga a elegir?
Cada vez que creaste un campo personalizado seguiste el mismo ritual: elegir el tipo, ponerle nombre y decidir qué valor lleva. Declarar una variable en Apex es exactamente ese ritual, escrito en una línea.
La nutria: El paralelo de Admin
Las cuatro partes de una declaración
Una declaración completa tiene el tipo, el nombre, el signo igual y el valor. Y termina en punto y coma, que en Apex significa «esta instrucción se ha acabado».
LA VARIABLE, POR DENTRO
- TipoInteger
- Nombre—
- Valor(vacío)
Paso 1 de 5
El tipo: qué cabe dentro. Es exactamente el primer paso del asistente de campo personalizado, cuando eliges entre Text, Number o Checkbox. Y es una promesa: si luego intentas meter un texto, no compila.
// Declaración con valor inicial
Integer maxDiscount = 20;
// Declarar ahora, asignar después
String accountName;
accountName = 'Acme Corp';
// Reasignar: la caja es la misma, el contenido cambia
maxDiscount = 25;El tipo es una promesa
Cuando escribes Integer delante de un nombre, le estás prometiendo a la plataforma que ahí solo habrá números enteros. Si más adelante intentas meter texto, el código ni siquiera llega a ejecutarse: falla al , igual que Salesforce te impide guardar «N/A» en un campo Number.
Integer contactCount = 12;
contactCount = 'doce'; // ❌ no compila: 'doce' no es un IntegerCómo se nombran las variables
En Apex la convención es camelCase: la primera palabra en minúscula y cada palabra siguiente con inicial mayúscula. Y el nombre se elige como se elige la etiqueta de un campo: pensando en quien lo leerá dentro de seis meses, que probablemente serás tú.
| Escribe esto | No esto | Por qué |
|---|---|---|
| totalAmount | ta / x / temp | El nombre es la documentación que nunca se desactualiza. |
| isActive | active | Un Boolean se lee mejor como una pregunta de sí/no. |
| accountName | AccountName | La inicial mayúscula se reserva para clases y objetos. |
Variables que no cambian
Si un valor no debe cambiar nunca (un porcentaje fijo, un nombre de estado), se declara con final. Es el equivalente a un campo de solo lectura: intentar reasignarlo es un error de compilación, no una sorpresa en ejecución.
final Integer MAX_RETRIES = 3;
MAX_RETRIES = 5; // ❌ no compila: es finalCómo vamos a trabajar: un solo caso, troceado
Los talleres de este módulo no son diez ejercicios sueltos: son un mismo encargo real, partido en diez trozos. Es exactamente lo que hace un desarrollador cuando sale de una reunión con Ventas: nadie escribe de una sentada el requisito entero, se desglosa en tareas y se empieza por la primera que ya se puede resolver.
La nutria: El encargo de Ventas, tal cual lo dijeron
Cada taller a partir de aquí empieza donde acabó el anterior: el código de partida ya trae resuelto lo que construiste, y encima se añade el trozo nuevo que la sub-lección de ese día te acaba de enseñar. Al llegar al checkpoint no montarás nada desde cero: solo verás el problema grande entero por primera vez, y te darás cuenta de que ya lo habías resuelto por partes.