把 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

FOLLOW US

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

贊助我們的創作

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

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