Escribir comentarios en código

Lectura
15 min~8 min lectura
CONCEPTO CLAVE: Los comentarios en código son notas que los programadores escriben para explicar el código. Aunque el código debe ser lo más claro posible por sí mismo, los comentarios en inglés son esenciales para la colaboración internacional, ya que el inglés es el idioma universal de la programación.

¿Por qué escribir comentarios en inglés?

Cuando trabajas en proyectos con desarrolladores de diferentes países, los comentarios en inglés aseguran que todos comprendan tu código. Además, la mayoría de la documentación técnica, librerías y recursos de aprendizaje están en inglés. Dominar la escritura de comentarios en inglés es una habilidad profesional indispensable.

📌 El 80% de los proyectos de código abierto en GitHub utilizan inglés para comentarios y documentación. Dominar esta habilidad te permite colaborar globalmente.

Tipos de comentarios en programación

1. Comentarios de una sola línea (Single-line comments)

Se usan para explicaciones breves y precisas. Son ideales para документировать decisiones inmediatas.

// Calculate user age from birthdate
const age = calculateAge(user.birthDate);

// Validate input to prevent errors
if (input !== null) { ... }

# Python example
# Fetch data from API endpoint
response = requests.get(url)

2. Comentarios de bloque (Block comments)

Abarcan múltiples líneas y se utilizan para explicaciones más detalladas o secciones completas de código.

/*
 * This function handles user authentication
 * Input: username and password
 * Output: authentication token or null
 * Throws: AuthException if credentials are invalid
 */
function authenticate(username, password) {
    // implementation
}

/*
  Multiline comment in Python
  Used for longer explanations
  across several lines
*/

3. Documentación con JSDoc/Docstring

Permiten generar documentación automática y son estándar en la industria.

/**
 * Calculates the total price including tax and discounts
 * @param {number} basePrice - The original price
 * @param {number} taxRate - Tax percentage (e.g., 0.21 for 21%)
 * @param {number} discount - Discount amount to subtract
 * @returns {number} Final price after taxes and discounts
 */
function calculateTotalPrice(basePrice, taxRate, discount) {
    return (basePrice + (basePrice * taxRate)) - discount;
}

"""
Retrieves user information from the database.

Args:
    user_id (int): The unique identifier of the user
    
Returns:
    dict: A dictionary containing user data
    
Raises:
    UserNotFoundError: If user_id does not exist in database
"""
def get_user(user_id):
    pass
💡 JSDoc es el estándar más utilizado para documentar código JavaScript, mientras que Python usa Docstrings. Dominar ambos te hace un desarrollador más profesional.

Vocabulario esencial para comentarios

Concepto en españolInglés estándarEjemplo en comentario
Corregir un errorFix a bug// Fix: handle null input
Mejorar código existenteRefactor// TODO: refactor for better performance
Algo por hacerTODO// TODO: implement user validation
Arreglar inmediatamenteHACK// HACK: temporary fix for legacy system
Deprecated/antiguoDeprecate// @deprecated Use newFunction() instead
Manejar un caso especialHandle edge case// Handle empty array gracefully
Validar datosValidate input// Validate that age is positive
Evitar cálculos repetidosCache result// Cache expensive computation
Inicializar variableInitialize// Initialize counter to zero

Buenas prácticas para comentarios efectivos

  1. Comenta el POR QUÉ, no el QUÉ: El código ya muestra qué hace. Tu comentario debe explicar la razón detrás de la decisión.
  2. Usa frases cortas y claras: «// Check if user is logged in» es mejor que «// This comment is for checking the authentication status of the user before proceeding».
  3. Mantén los comentarios actualizados: Un comentario desactualizado es peor que no tener ninguno, ya que confunde a otros desarrolladores.
  4. Elimina comentarios obvios: No escribas «// Increment i by 1» cuando el código ya dice «i++».
  5. Utiliza mayúsculas para palabras clave: TODO, FIXME, HACK, NOTE son estándar en la industria.
⚠️ Error común: No traduzcas literalmente del español. «Array de usuarios» debe ser «user array» o «users array», no «users array» con estructura española. El orden del adjetivo en inglés es diferente.

Estructuras gramaticales útiles

Frases en presente simple

Los comentarios usan presente simple porque describen lo que el código hace de forma general y atemporal.

// Returns the user object
// Calculates total based on quantity
// Handles the error gracefully
// Initializes the connection

Frases en imperativo

Especialmente en TODOs y documentación de funciones, el imperativo indica acciones necesarias.

// TODO: Add error handling
// FIXME: Memory leak in loop
// HACK: Remove this after v2.0 release
// OPTIMIZE: Use caching for better performance

Frases con tercera persona

En la documentación de funciones (JSDoc), se usa third person singular.

/**
 * Calculates the shipping cost
 * Handles user authentication
 * Returns the formatted date
 */
💡 «Calculates» y no «Calculate» en documentación. Esto se llama «third person singular» y es el estándar en la documentación técnica.

Comentarios internacionales vs. comentarios locales

En equipos internacionales, es fundamental establecer un estándar. Aquí hay una comparación:

SituaciónRecomendación
Proyecto open source globalSiempre en inglés
Equipo multilingüeInglés para todo
Proyecto interno de equipo hispanohablantePuede mezclarse, pero inglés es preferible
Código que compartes públicamenteInglés obligatoriamente
📌 Regla de oro: Si alguien de otro país pudiera leer tu código, usa inglés. Los comentarios en español limitan la colaboración global de tu proyecto.

Señales de seguimiento (Trackers)

Son palabras clave que indican el estado o tipo de comentario. Son universales en programación:

// TODO: Implement password reset functionality
// FIXME: This crashes with special characters
// HACK: Workaround for browser compatibility issue
// NOTE: This algorithm is O(n²), consider optimization
// BUG: Issue #1234 - Race condition in async handler
// DEPRECATED: Use UserService.getById() instead
⚠️ Los trackers deben ser consistentes en todo el proyecto. Establece una convención al inicio y ensure que todo el equipo la siga.
Ver más: Ejemplos por lenguaje de programación

JavaScript / TypeScript

// Single line comment
/* Block comment */
/** JSDoc documentation */

// Ejemplo completo:
/**
 * Adds two numbers together
 * @param {number} a - First number
 * @param {number} b - Second number
 * @returns {number} Sum of a and b
 */
function add(a, b) {
    return a + b;
}

// TODO: Add input validation
// NOTE: Returns NaN if inputs are not numbers

Python

# Single line comment
""" Docstring for function/class """

# Ejemplo completo:
def multiply(a, b):
    """
    Multiplies two numbers
    
    Args:
        a (int/float): First factor
        b (int/float): Second factor
        
    Returns:
        int/float: Product of a and b
    """
    return a * b

# TODO: Add support for complex numbers
# HACK: Works only with positive integers

Java

// Single line comment
/* Block comment */
/** JavaDoc documentation */

// Ejemplo completo:
/**
 * Calculates the area of a circle
 * @param radius The radius of the circle
 * @return The area as a double
 * @throws IllegalArgumentException if radius is negative
 */
public double calculateArea(double radius) {
    return Math.PI * radius * radius;
}

// FIXME: Handle zero radius
// TODO: Add overload for diameter parameter

Pattern común: Comentarios de sección

En archivos grandes, usa comentarios para separar secciones lógicas:

// ============================================
// USER AUTHENTICATION MODULE
// ============================================

// --- Login Functions ---

// --- Password Recovery ---

// --- Session Management ---

// ============================================
// END OF AUTHENTICATION MODULE
// ============================================

// También se usa:
// **********************
// * Helper Functions    *
// **********************

# En Python también puedes usar:
# ==============================
# SECTION: Database Operations
# ==============================
💡 Esta práctica mejora enormemente la navegabilidad del código, especialmente en archivos de más de 200 líneas.

Errores gramaticales comunes a evitar

❌ Incorrecto✅ Correcto
// This function make the calculation// This function makes the calculation
// Return the result of the operation// Returns the result of the operation
// TODO: The function will be implemented// TODO: Implement this function
// Comment for explain the logic// Comment explaining the logic
// Fixing the bug// Fix the bug
«Write comments to help your future self and other developers understand your code. If you can't explain it simply, you don't understand it well enough yet.» — Principio de documentación técnica
🧠 Quiz: Comentarios en código

¿Cuál es el formato correcto para un comentario TODO en inglés?

  • A) // TODO: This will be fixed later
  • B) // ToDo: Fix this bug
  • C) // todo - implement feature
✅ Respuesta correcta: A) «TODO» en mayúsculas es el estándar internacional reconocido por todos los IDEs. Las otras opciones no siguen las convenciones establecidas.
🧠 Quiz: Vocabulario técnico

¿Qué significa «refactor» en el contexto de comentarios de código?

  • A) Eliminar código que no funciona
  • B) Reescribir código para mejorar estructura sin cambiar funcionalidad
  • C) Agregar nuevos features al código
✅ Respuesta correcta: B) Refactorizar significa reestructurar código existente para mejorar su legibilidad, mantenimiento o rendimiento, sin alterar su comportamiento externo.
🧠 Quiz: JSDoc

¿Por qué se usa «@param» en JSDoc en lugar de «@params» para un solo parámetro?

  • A) Es un error tipográfico
  • B) Cada @ representa un parámetro individual
  • C) Es tradición de JavaScript
✅ Respuesta correcta: B) Cada @param documenta un parámetro individual. Para múltiples parámetros, se repite la etiqueta @param tantas veces como sea necesario, cada una con su nombre y descripción.

Resumen y próximos pasos

Ahora que conoces los fundamentos de los comentarios en inglés para código, practica incorporando estas técnicas en tu código diario:

  1. Revisa tu último proyecto y añade comentarios en inglés donde sea necesario
  2. Practica escribir JSDoc/Docstrings para tus funciones
  3. Familiarízate con los trackers: TODO, FIXME, HACK, NOTE
  4. Lee código de proyectos open source para ver cómo documentan otros desarrolladores
  5. Configura tu IDE para reconocer y resaltar estos comentarios
📌 Recuerda: El objetivo de los comentarios es hacer tu código más mantenible. Un comentario excelente es aquel que se puede entender en 5 segundos y que salva horas de confusión futura.

En la próxima lección de este módulo, exploraremos cómo escribir mensajes de commit descriptivos en inglés, otra habilidad esencial para cualquier desarrollador que trabaje en equipos profesionales o proyectos colaborativos.