Existen muchas medidas para el “buen software”, pero la “corrección” es, con mucho, la más importante de todas las medidas.
La corrección tiende a significar “libre de errores”, pero más específicamente, significa “libre de errores”. Esa es una tarea monumental para la mayoría del software, por lo que la corrección tiende a ser una medida que nunca alcanza el 100%.
Como se puede encontrar en muchos lugares, hay muchos tipos de errores. Algunos son catastróficos y eliminan todo el programa porque un programador decidió analizar el “texto aleatorio” como un entero, sin considerar cómo manejar la situación donde no es posible. Algunos son tan simples como una palabra mal escrita en la interfaz de usuario o un cálculo que produce un resultado incorrecto.
- ¿Cuáles son los conceptos básicos de la programación?
- ¿Qué profesores o estudiantes están haciendo las cosas más emocionantes en aprendizaje automático e ingeniería de software en CMU?
- ¿Cuál debería ser el enfoque para aprender lo básico y debe saber cosas (como la estructura de datos - algoritmos) relacionadas con la programación desde cero después de desmayarse de una rama que no es CSE?
- ¿Qué dominio es mejor para una nueva empresa de software: desarrollar o probar en empresas como TCS, iGATE, Infosys, etc.?
- ¿Qué son los patrones de comprensión y cómo se relacionan con el diagrama de secuencia?
En última instancia, para mejorar la corrección, hay dos cosas que necesita: la ayuda del compilador y las pruebas.
Muchas veces, podemos usar la escritura para decirle al compilador que limite lo que los futuros programadores pueden hacer con los datos, teniendo en cuenta que el futuro programador puede ser usted dentro de 5 minutos. Dígale al compilador que su cadena de correo electrónico es VerifiedEmailString, no solo una cadena, y solo use la versión verificada. Eso evitará que las cadenas no verificadas entren en su código de correo electrónico.
En lugares donde no puede hacer esto: prueba de unidad, prueba de función, prueba de integración y prueba de usuario en bits.
Todo esto demostrará y mejorará la corrección de su código, pero solo en la medida en que lo haga. Los humanos todavía están escribiendo el software, y los humanos aún olvidarán casos especiales. Esa experiencia es lo que diferencia a los buenos ingenieros de software de los script kiddies.
Por lo tanto, la medida de la corrección del software generalmente se encuentra en la cobertura del código.