Code review en TypeScript: qué revisar y cómo dar retroalimentación

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: por qué es necesaria la revisión de código en TypeScript

La revisión de código no es solo una verificación formal del código antes de fusionarlo. Es una herramienta poderosa para mejorar la calidad del proyecto, compartir conocimientos dentro del equipo y prevenir errores en etapas tempranas. Cuando se trata de TypeScript, la revisión de código adquiere un significado especial: el tipado estático, un potente sistema de genéricos y la configuración estricta del compilador permiten detectar muchos errores incluso antes de ejecutar la aplicación. Sin embargo, incluso en TypeScript existen trampas que son fáciles de pasar por alto.

En este artículo, desglosaremos a qué prestar atención al revisar código TypeScript y cómo dar retroalimentación para que sea útil, no ofensiva.



1. Tipado y genéricos: no dejes que any lo arruine todo

Uno de los principales objetivos de TypeScript es hacer que los tipos sean explícitos. Si aparece any en el código, casi siempre es una señal de alerta. Durante la revisión de código, verifica:

  • Ausencia de any. Reemplázalo con unknown con verificación de tipo posterior o un tipo específico.
  • Corrección de los genéricos. Asegúrate de que los parámetros de tipo no se pierdan y no se vuelvan demasiado amplios. Por ejemplo:
// Mal: perdemos el tipofunction getFirst(arr: any[]): any {    return arr[0];}

// Bien: preservamos el tipo mediante un genéricofunction getFirst<T>(arr: T[]): T | undefined { return arr[0];}
  • Tipado de respuestas de API. Si llega JSON del servidor, debe describirse mediante una interfaz, no con any.
  • Tipos utilitarios. Usa Partial, Pick, Omit para trabajar de forma flexible con objetos — esto reduce la duplicación de código.

Consejo: habilita las banderas strict: true y noImplicitAny: true en tsconfig.json — esto eliminará la mayoría de los problemas a nivel de compilación.



2. Lógica y manejo de errores: no te calles ante los problemas

TypeScript no protege contra errores lógicos, por lo que la revisión de código debe verificar la lógica de negocio y el manejo de excepciones.

Qué buscar:

  • Manejo de casos límite. ¿Qué sucederá si el arreglo está vacío, el objeto es null o la cadena está vacía? Ejemplo:
// Mal: no verificamos la existencia del elementofunction getUserName(users: User[], id: string): string {    return users.find(u => u.id === id)!.name; // puede lanzar un error}

// Bien: verificamosfunction getUserName(users: User[], id: string): string | null { const user = users.find(u => u.id === id); return user ? user.name : null;}
  • Operaciones asíncronas. Asegúrate de que las promesas se manejen correctamente con async/await y que los errores se capturen en try/catch.
  • Evitar mutaciones. Si una función no debe modificar los datos de entrada, usa readonly y métodos inmutables (por ejemplo, map en lugar de forEach con modificación de un arreglo externo).


3. Estilo de código y legibilidad: el código se escribe para las personas

Incluso el código perfectamente tipado puede ser ilegible. La revisión de código es un buen momento para discutir el estilo.

Puntos clave:

  • Nomenclatura. Las variables, funciones y clases deben transmitir su propósito. Evita nombres de una sola letra (excepto para índices de bucles). Ejemplo: fetchUserData es mejor que getData.
  • Tamaño de las funciones. Una función no debe hacer más de una cosa. Si tiene más de 20-30 líneas, es motivo para considerar una refactorización.
  • Comentarios. Los comentarios deben explicar por qué el código está escrito de esa manera, no qué hace. Si un comentario duplica el código, elimínalo.
  • Formato. Usa

Blogs

Book Recommendations