Explicación del concepto
Esta lección presenta la idea de que el rendimiento no se trata solo de velocidad, sino también de escribir código que no realice trabajo adicional por accidente. En C#, un principiante debe aprender a identificar asignaciones repetidas, bucles innecesarios y operaciones costosas ubicadas en el lugar equivocado. Trabajarás con un pequeño ejemplo, medirás su funcionamiento, luego harás un cambio enfocado y compararás el resultado. El objetivo es desarrollar el hábito de hacer preguntas sencillas: qué se ejecuta con frecuencia, qué se puede reutilizar y qué debe seguir siendo legible incluso después de la optimización.
Dónde poner el código
- Define las variables de color y posición en la parte superior.
- Crea la lógica de dibujo o posicionamiento de formas en el medio.
- Renderiza la salida (impresión, canvas, SVG o bloque con estilo) al final.
Referencia de comandos
- Ejecuta el ejemplo una vez, luego cambia el tamaño de la lista de entrada y observa cómo cambia el tiempo transcurrido.
- Mueve cualquier trabajo repetido fuera del bucle si no necesita ocurrir en cada iteración.
- Mantén el método legible mientras lo mejoras; no sacrifiques la claridad por una pequeña ganancia.
- Escribe una oración explicando por qué tu cambio es más rápido o más simple.
Guía paso a paso
- Lee el método y señala qué parte del código se ejecuta para cada elemento de la lista.
- Ejecuta el ejemplo una vez y registra la salida antes de cambiar nada.
- Realiza una pequeña mejora orientada al rendimiento, como eliminar trabajo repetido o simplificar el cuerpo del bucle.
- Ejecuta la versión actualizada y compara el resultado con la salida original.
- Finaliza con una breve nota sobre si el cambio mejoró la velocidad, la legibilidad o ambas.
Ejercicios prácticos
- Crea un segundo ejemplo que sume solo los valores pares en una lista y compara dos implementaciones.
- Reescribe el ejemplo usando un estilo de bucle diferente y decide qué versión es más fácil de leer.
- Agrega un conjunto de entrada más grande y describe qué cambia cuando el método se ejecuta muchas más veces.
Retos de código
- Implementa dos versiones del mismo cálculo y explica cuál mantendrías en un proyecto real.
- Diseña un caso en el que una pequeña ineficiencia se vuelve notoria porque el código se ejecuta dentro de un flujo de trabajo repetido.
Mini tareas de práctica
- Renombra una variable para que la intención del cálculo sea obvia.
- Agrega un valor de entrada más y verifica que el total siga teniendo sentido.
- Escribe un resumen de una línea sobre lo que mide este ejemplo.
Error común
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
Mini reto de la vida real
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.