Me aventuraría a que un ingeniero de software debería saber lo suficiente para evitar los siguientes malos hábitos.
- La velocidad mata . Escriba su código cuidadosamente, depúrelo, integrelo, refactorice, optimice y repita. El desafío es la calidad, no la cantidad. La ingeniería de software requiere mano de obra experta. Hay demasiados códigos basura que se escriben diariamente en el mundo.
- La falta de autocrítica . Estar satisfecho y satisfecho con el código es un hábito peligroso. Tome un código importante que escribió hace unos años y si no puede ver cómo mejorarlo, técnicamente no está avanzando. Estar dispuesto a aprender de los demás. Aprende a reconocer, reconocer y aprender de tus errores.
- La complacencia Hacer que el código funcione es el resultado más bajo aceptable. Siempre se debe luchar por la claridad, simplicidad, extensibilidad, modularidad, comportamiento de tiempo de ejecución predecible y escalabilidad. El código que tiene estos atributos altamente deseables es más estable, comprobable y mantenible. Si eres bueno, algún futuro ingeniero tendrá la tarea de reutilizar tu código. Asegúrese de que este ingeniero tenga pensamientos amables para usted.
- Implementación del primer diseño propuesto . Hay muchos diseños posibles para módulos de software. Resuelva la tarea en cuestión N formas diferentes conceptualmente en la pizarra. Luego critique cada diseño en términos de pros y contras. Luego elija el diseño óptimo con las mejores compensaciones. Si solo puede crear un diseño, no está pensando lo suficiente. Implementar el diseño elegido. No seas flojo.
- Cortar y pegar código . Este es un hábito muy peligroso. El código de mierda se propaga con ligeras modificaciones como un virus horrible con mutaciones mortales. Cuando el código tiene que montarse en horquilla para adaptar la API más reciente, un savia pobre tiene que rastrear infructuosamente N ubicaciones en línea ocultas oscuras al azar en lugar de una interfaz API limpia (use una interfaz, función o clase, por favor). Las herramientas de refactorización de código IDE deben usarse en su lugar. Menos es más. Cree menos código refactorizando, no más código. Agregar más código cortando y pegando código es muy malo crear una base de código imposible de mantener.
- Falta de atención al detalle . Aunque la codificación requiere un diseño de alto nivel y conceptualización, habilidades, la ingeniería de software también requiere una atención extrema a los detalles, ya que es implacable. El código que es correcto al 99% es tan no funcional como el código que es funcional al 50%. El código funciona o no, las soluciones incompletas aproximadas no tienen valor.
- Falta de propiedad . La codificación es una artesanía refinada que requiere orgullo de propiedad. Si uno es el autor original de un módulo de software, siempre debe estar dispuesto a mejorarlo, mantenerlo y respaldarlo indefinidamente. El código de rechazo rompe el ciclo de retroalimentación positiva para mejorar sus habilidades usando el ciclo de vida completo del software. Su código debe tener una garantía de por vida infinita honrada por su sincero compromiso personal. El gran código no tiene una fecha de vencimiento o de uso.