把 Code 上到外太空 - How NASA writes space-proof code

「別人的 production 是上雲,我的 production 是上到外太空。」

NASA 的任務都是耗費鉅資、時間的競賽,為了減少浪費人民的納稅錢、提高任務成功率等等,因此如何很大程度減少程式碼錯誤、保證程式碼在出錯的情況下也能有機會恢復,也就成為他們開發過程必須重視的一環。

NASA 工程師 Gerard 在 2006 年就提出 10 條準則(The power of ten)來幫助他們減少人為錯誤,進而提升程式碼品質。

其中一些準則在現在的業界也是很常見,包含不要使用 goto, jump 等語法,保持函式單一職責與簡潔等等。

除此之外,也有比較不常見的一些準則,例如不使用遞迴(resursion)以簡化程式流程(也避免 stack overflow 造成錯誤),為迴圈設定執行次數上限,避免非預期的無窮迴圈發生,不使用 Heap 以避免記憶體洩漏(memory leak)等等,都是蠻值得做為參考的準則,如果你是開發車用系統、嵌入式系統的人也能使用類似的準則:

https://www.youtube.com/watch?v=GWYhtksrmhE

追蹤新知

看完這篇文章了嗎?還意猶未盡的話,追蹤粉絲專頁吧!

我們每天至少分享 1 篇文章/新聞或者實用的軟體/工具,讓你輕鬆增廣見聞提升專業能力!如果你喜歡我們的文章,或是想了解更多特定主題的教學,歡迎到我們的粉絲專頁按讚、留言讓我們知道。你的鼓勵,是我們的原力!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!