Puede escribir un libro completo sobre malas prácticas de programación. Hay muchos para contar, pero aquí están mis cinco mejores opciones:
- Sin diseño ni plan. Por supuesto, la primera iteración de su código no tiene que estar perfectamente planificada, pero debe planificar las cosas de todos modos. El código bien estructurado es más fácil de corregir cuando tiene algún tipo de diseño detrás. Su diseño cambiará a medida que lo programe y vea diferentes formas de hacer cosas que son mejores formas de hacer lo que tenía su diseño anterior.
- Sin comentarios. En serio, los comentarios son una excelente manera de comunicar a los demás lo que estás haciendo. Hay un gran énfasis en los comentarios, pero nadie los hace lo suficiente. Odio no ver comentarios, pero no me hago comentarios, así que …
- Código desestructurado Código que debe ir a clases o funciones pero está escrito en un solo archivo como una gran bestia difícil de manejar. La herencia es tu amiga, úsala. Estructura tu código correctamente. Separa tus preocupaciones. Te pensarás más tarde cuando tengas que mantener el código que escribiste. Esto está relacionado con el número 1.
- No estar SECO. En serio, no te repitas. Esto hace que su código sea difícil de entender y mantener. Una vez trabajé en código que tenía seis elementos en una matriz como máximo, en lugar de hacer un bucle for y escribir el código una vez, este tipo copió y pegó el código 6 veces. Ni siquiera puso el código en una función y lo llamó seis veces. Cuando tuve que agregar funcionalidad a ese código, ¿cómo crees que me sentí? Primero tuve que refactorizar el código y luego Agregar la funcionalidad. Fue una pesadilla y tomó más tiempo del que debería.
- Y, por último, lo peor de la lista: “ver el mundo como un clavo”. ¿Eh? ¿Qué quiero decir con esto? Es el viejo dicho: dale un martillo a un niño y verá el mundo como solo clavos. Los lenguajes de programación son de la misma manera. Cada uno tiene sus ventajas y desventajas. Hay un momento y un lugar para usar cada uno y decir arbitrariamente que uno es mejor que el otro porque “es más rápido” o “tiene la función x” es peligroso y estúpido. No usaría el ensamblaje para escribir servicios web más de lo que no usaría PHP para el desarrollo de sistemas integrados. Salga de este pensamiento de que este idioma es el fin de todos y todos los demás idiomas apestan. Todos los idiomas apestan. Hasta el último de ellos. Solo tiene que usar el que menos apesta para la tarea en cuestión.
Esos son mis cinco primeros. Estoy seguro de que hay muchos más que otros mencionarán.
- ¿Qué tan útiles son las recomendaciones personales con respecto a las habilidades particulares de los ingenieros?
- ¿Cómo podría una startup hacer socios de canal en la industria del software?
- Tengo una buena idea para un programa / aplicación de software. No tengo experiencia en software, codificación, ingeniería informática o desarrollo de software. ¿Cuáles deberían ser mis próximos cinco pasos?
- ¿Qué enfoque (CMMI, ISO 9001, TickIT, 6Sigma) debería elegir como marco de calidad de desarrollo de software?
- ¿Cuál de estas tres asignaturas optativas de informática es la más difícil de aprender: desarrollador de software de Internet, pruebas de software o programación paralela?