No hay compensación entre la corrección y la optimización. Si su código no produce el resultado correcto, no importa qué tan bien esté escrito o qué tan rápido se ejecute.
Suponiendo que su código sea correcto, su calidad se medirá en unas pocas dimensiones que deberían optimizarse.
Legibilidad n. ° 1: idealmente, otro desarrollador debería ser capaz de comprender instantáneamente su código al tener que explicarlo (verbalmente o en comentarios).
# 2 Concisión: escriba su programa en la menor cantidad de líneas posible (sin sacrificar la legibilidad). Reutilice el código existente tanto como sea posible. Recuerde, las líneas de código que escribe, menos errores comete.
- Necesito filmar videos de Youtube en público, ¿qué tipo de equipo necesito?
- Me gustaría aprender marathi y gujarati. ¿Cómo lo hago?
- ¿Por qué mi estéreo Kenwood dice ‘llamar’?
- Recientemente me mudé a Asheville NC y no sé conducir. ¿Alguien sabe buena escuela de manejo en la ciudad? ¿Alguien puede enseñarme a conducir?
- ¿Por qué debo aceptar el correo basura que no está dirigido a mí? ¿Por qué no tengo la autoridad para rechazar el correo no solicitado en los Estados Unidos?
# 3 Testabilidad: escriba su código de una manera que facilite la prueba. Por ejemplo, siga el principio de separación de preocupaciones y divida su código en módulos mientras mantiene pequeño el tamaño de cada módulo y minimiza las dependencias entre módulos. Cada módulo debe tener un propósito claro y distinto.
Todo lo anterior es extremadamente importante porque hacen que su código sea más fácil de mantener y ayudan a garantizar la corrección actual y futura del código.
# 4 Rendimiento: es importante, pero se vuelve más exagerado de lo que merece en las entrevistas. Debería encontrar formas de mejorar el comportamiento big-O de su código, pero más allá de cierto punto, podría encontrarse haciendo cambios complejos mientras obtiene mejoras triviales de rendimiento. Tenga en cuenta el costo de la complejidad mientras busca el rendimiento y asegúrese de que sus optimizaciones de rendimiento sean relevantes para el tamaño de su problema.