Всі ми знаєм, хто такі NASA і що ціна помилки у їхньому апаратному та програмному забезпеченні вимірюється мільйонами долларів та людським життям. Зазвичай при розробці такого "критичного" програмного забезпечення робиться великий акцент на тестування та стандарти написання коду (Coding Standard) для мінімізації можливих проблем у роботі програм.
https://code.nasa.gov
Лабораторія реактивного руху NASA (Jet Propulsion Laboratory) містить на своєму сайті посилання на власні стандарти кодування для мов програмування, які вони використовують:
C: http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
Java: http://lars-lab.jpl.nasa.gov/jpl-java-standard.pdf
Наприклад, у їхньому стандарті кодування для мови C описані обмеження використання макросів препроцесора, вказівників, динаміного управління пам'яттю, заборони конструкцій, що призводять до невизначеної поведінки програми, конструкції goto, рекурсії, рекомендації щодо використання опцій компіляції, assert() перевірок, обмеження розміру функцій та ін.
Стандарт піддався впливу таких збірок правил для безпечного написання коду як MISRA-C (документ платний) та "The Power of Ten" (http://spinroot.com/gerard/pdf/P10.pdf)
До речі, NASA має профіль на GitHub із багатьма open-source проектами:
https://github.com/nasa
https://code.nasa.gov
Лабораторія реактивного руху NASA (Jet Propulsion Laboratory) містить на своєму сайті посилання на власні стандарти кодування для мов програмування, які вони використовують:
C: http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
Java: http://lars-lab.jpl.nasa.gov/jpl-java-standard.pdf
Наприклад, у їхньому стандарті кодування для мови C описані обмеження використання макросів препроцесора, вказівників, динаміного управління пам'яттю, заборони конструкцій, що призводять до невизначеної поведінки програми, конструкції goto, рекурсії, рекомендації щодо використання опцій компіляції, assert() перевірок, обмеження розміру функцій та ін.
Стандарт піддався впливу таких збірок правил для безпечного написання коду як MISRA-C (документ платний) та "The Power of Ten" (http://spinroot.com/gerard/pdf/P10.pdf)
До речі, NASA має профіль на GitHub із багатьма open-source проектами:
https://github.com/nasa