Estándares de programación – Nivel: NASA

publicado en: Noticias | 0

La institución científica Jet Propulsion Laboratory lleva a cabo muchas de las investigaciones y desarrollos para la NASA. Ha realizado desarrollo de software para la mayoría de misiones no tripuladas en el ámbito del espacio y exploración espacial profunda (ejemplo: búsqueda de planetas). Su cartera de proyectos incluye misiones tales como el famoso “Curiosity Rover” a Marte y la sonda Voyager, la cual dejó el sistema solar hace 25 años y aún continua ofreciendo información científica.

Tan alto nivel de automatización y la larga duración de las misiones requieren una calidad del software superior y, como resultado de más de 25 años de experiencia, la JPL desarrolló un conjunto de estándares de programación muy interesantes y dignas de tener en cuenta.

Teniendo en cuenta que las exigencias del software web aumentan constantemente y dado que algunas de las tareas más críticas son confiadas a JavaScript, los estándares de programación de la NASA podrían ser esenciales para lograr un mayor rendimiento, fiabilidad y estabilidad en las aplicaciones de JavaScript / HTML.

 

Aquí está un resumen de los 10 estándares:

  1. Restringir todo el código a construcciones de flujo de control muy sencillas.
  2. Todos los bucles deben tener un límite superior fijo.
  3. No utilizar la asignación dinámica de memoria después de la inicialización.
  4. Ninguna función debería ser más larga de lo que se puede imprimir en una sola hoja de papel (aproximadamente 60 líneas).
  5. La densidad de “assertions” (afirmaciones) del código debe ser, en promedio, un mínimo de dos afirmaciones por función. Las afirmaciones se utilizan para evaluar valores que nunca deberían presentarse en un escenario real. Las afirmaciones deben ser siempre libre de efectos secundarios y deben ser definida como pruebas booleanas.
  6. El alcance de los objetos de datos se deben declarar en el nivel más bajo posible.
  7. Cada función debe comprobar los valores de retorno de funciones no nulas; y la validez de los parámetros debe ser revisada dentro de cada función.
  8. El uso del preprocessor debe limitarse a la inclusión de archivos de cabecera y las definiciones de macros sencillas.
  9. No usar punteros.
  10. Todo el código debe ser compilado, desde el primer día de desarrollo, con todas las advertencias del compilador habilitadas en el ajuste más complejo del compilador; todas las advertencias deben entonces ser abordados antes de la liberación del software.

 

Fuentes:

Dejar una opinión