Leer antes de cambiar
Practica: nombres que explican el dato
Revisa un ejercicio completo: colecciones, permisos, tiempos y funciones. Cambia los nombres sin cambiar lo que hace el código.
Qué aprenderás
- Elegir nombres a partir del significado y la unidad del dato.
- Mantener el comportamiento al cambiar nombres negativos.
- Distinguir una duración de un instante y una función pendiente de una terminada.
Índice de esta lección
Paso 1
Empieza por los datos
Abre ejercicio_2.ts e intenta renombrarlo antes de mirar la propuesta. Hay varias respuestas válidas; cada nombre debe ayudar a entender qué contiene la variable.
users guarda objetos; userEmails guarda textos. En temperaturas, incluye la unidad. Para practicar sin datos personales, usa correos de ejemplo.
const temperaturesCelsius = [33.6, 12.34];const serverIp = '123.123.123.123';const users = [{ id: 1, email: 'ana@example.com' }];const userEmails = users.map(user => user.email);Qué deberías observar
La transformación conserva los valores y el orden de los correos.
Paso 2
Conserva el sentido de las condiciones
canJump, canRun e isLoading expresan preguntas concretas. Sus valores se mantienen.
Cambiar noTieneItems por hasItems invierte la pregunta. Invierte también el valor y revisa cada condición que lo use; cambiar true por false sin revisar los usos sí puede alterar el programa.
const canJump = false;const canRun = true;const hasItems = false;const isLoading = false;if (!hasItems) console.log('Inventario vacío');Qué deberías observar
El mensaje aparece en los mismos casos antes y después.
Paso 3
Distingue un instante de una duración
En el ejercicio, end contiene una resta. No es la hora de finalización: es el tiempo transcurrido.
Usa startedAtMs para el instante inicial y elapsedMs para la diferencia. Así el nombre explica tanto el significado como la unidad.
const startedAtMs = new Date().getTime();// Se ejecuta el trabajo.const elapsedMs = new Date().getTime() - startedAtMs;Qué deberías observar
Si el inicio es 1000 y la lectura final 1250, elapsedMs vale 250.
Paso 4
Nombra la promesa de cada función
getBooks y getBooksByUrl expresan una consulta; calculateSquareArea expresa un cálculo. Las funciones del ejercicio todavía lanzan un error: renombrarlas no las implementa.
Conserva printJobIfJobIsActive si la condición es parte del contrato. Acortarla a printJob podría ocultar que algunos trabajos se omiten. Los parámetros con _ están pendientes de uso; elimina ese prefijo al implementarlos.
function getBooksByUrl(_url: string) { throw new Error('Function not implemented.');}function calculateSquareArea(_side: number) { throw new Error('Function not implemented.');}Qué deberías observar
Los nombres explican la intención y las funciones siguen indicando que están pendientes.
Ahora te toca
Prueba la idea por tu cuenta
Renombra todas las variables y funciones de ejercicio_2.ts. Conserva sus valores y las funciones pendientes. Añade dos condiciones de prueba para inventario vacío y con objetos; ambas deben comportarse igual antes y después.
Necesito una pista
Revisa cada referencia al renombrar. Para noTieneItems puedes conservar la pregunta con hasNoItems o invertirla con hasItems y actualizar las condiciones.
Comparar con una solución
Una propuesta: temperaturesCelsius, serverIp, users, userEmails, canJump, canRun, hasItems, isLoading, startedAtMs, elapsedMs, getBooks, getBooksByUrl y calculateSquareArea. Mantén printJobIfJobIsActive si la condición es pública. Comprueba que noTieneItems === !hasItems para true y false. No implementes las funciones como parte de un simple renombrado.
Antes de seguir
Comprueba lo que aprendiste
No es una nota. Es una pausa para comprobar que la idea quedó clara.
¿Terminaste la práctica?
Haz el ejercicio y comprueba tus respuestas antes de marcar la lección como completada.