NASA’s Power of Ten Rules for Safety Critical Code

Posted on Dec 21, 2023
  1. 不要使用複雜的流程控制,像是goto或是遞歸
  2. 所有迴圈都要有固定的上下界,以避免迴圈失控
  3. 不要使用heap記憶體管理
  4. 限制函式的長度,列印後不得超過一頁
  5. 每個函式至少要有二個執行時檢查的斷言(assertion)
  6. 限制資料在程式中的可存取範圍,越小越好
  7. 有傳回值的函式,要檢查函式的傳回值,不然就要轉型成 void,表示其傳回值沒有意義
  8. 謹慎的使用預處理器
  9. 指標只能使用一個解引用運算符"*" ,而且不要使用函數指針
  10. 在編譯時開啟所有的警告(warnings),需要處理完所有的警告,才能發行軟體
comments powered by Disqus