當前位置:
首頁 > 最新 > 當程序出現致命錯誤時,程序員應該怎麼辦?

當程序出現致命錯誤時,程序員應該怎麼辦?

摘要

如果你在應用程序中發現了問題或者是漏洞,這時你應該怎麼辦?首先,一定要保持冷靜,評估情況,因為只有確定了嚴重情況,才能明白接下來應該做什麼。

abstract

發現錯誤或漏洞

根據API開發和管理公司Postman的首席執行官Abhinav Asthana的說法,軟體團隊通常都有明確的協議來處理優先順序為1的問題。通常情況下,發生問題之後一定要及時通知使用這些服務的用戶,以及可能會因該服務無法使用而波及到的使用其它服務的用戶。

HYPR首席執行官George Avetisov表示,發現問題的第一反應肯定是要馬上解決這個問題,但實際上,程序員要首先確定導致這個問題的潛在原因,並和使用該配置文件的終端用戶進行溝通。修補程序的緊迫性取決於用戶遇到問題的可能性以及錯誤暴露的可能性。所以,在採取相關措施之前,確定修復程序的重要性是很關鍵的。

Avetisov認為當發現致命錯誤時,程序員很關鍵的一個工作是寫文檔,它簡化了運營團隊和客戶的溝通。程序員最忌諱的就是做無聲的修復,因為這會使得將來調試或者錯誤跟蹤沒有追溯。

Asthana表示,程序員還可以根據具備某些確定性的根本原因來調試問題。根據經驗,問題的根本原因往往會認為是在新推出的代碼中。

如何處理致命錯誤或漏洞

被致命漏洞選中的企業數分鐘之後就可能會損失數百萬美元。Asthana表示:不僅是企業會蒙受損失,而且依賴企業服務的用戶也會因此受到波及。2017年2月,GitLab管理員不小心輸入了一個刪除主資料庫的命令,導致該站點必須刪除才能維護,並且幾個小時內無法訪問該站點。據該公司稱,在自己伺服器上安裝了GitLab軟體的用戶因為沒有連接到GitLab.com而沒有受影響,雖然中斷服務是一件壞事,不過,所幸的是付費用戶沒有受到影響。

CloudBees的高級顧問Viktor Farcic表示,這種致命錯誤很容易摧毀一家公司,但是GitLab在博客上公開了處理,使得GitLab反而收穫了更高人氣。

如果企業也出現了像GitLab這樣的致命錯誤,Asthana建議一定要注意其一分鐘內的影響,這樣可以更加明確的得到解決問題所需的團隊資源。

如果是企業發現了致命錯誤,那麼就意味著用戶還沒有發現這個問題,那麼只要團隊足夠快,就可以在用戶體驗之前修復內部發現的問題。Farcic表示,通常情況下,企業內部是很少會發現致命錯誤的,如果程序員手動發現了錯誤,那麼就意味著團隊沒有一套好的自動化測試,而且迭代也不是足夠小。

開發安全可靠應用的提示

Farcic表示,錯誤就像疾病,當你忽視時,他們往往會擴大造成更大的問題,就像醫生經常叮囑我們的保持健康的最好方式就是預防,軟體錯誤也是一樣。

針對錯誤或漏洞最好的「藥物」就是建立一個監測和警報解決方案,它會自動解決問題,如果不能解決,也可以使得程序員迅速採取行動來進行恢復。

Avetisov對開發應用程序的建議是通過單元測試、自動回歸和邊界檢查進行以測試為驅動的開發。以功能測試的優先順序來評估非功能測試,有助於在漏洞未形成影響時就發現它。

Asthana表示,不管你測試或不測試,錯誤就在那裡,不來不去。所以一定程序員一定要自己時刻處在危機模式中,設置正確的觸發和間隔監視。而且還要確保協作和版本控制工具的正確性,讓所有團隊成員及時了解到最新的代碼更改情況。

IT168文庫中國最專業的IT文檔分享平台,擁有百萬活躍的IT技術精英!我們致力於有效幫助IT人士提升職業素養。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168文庫 的精彩文章:

資深程序員認為的成功十大黃金定律

TAG:IT168文庫 |

您可能感興趣

電腦開機運行程序出現「無響應」,點「結束程序」也沒用怎麼辦?
做程序員累的時候怎麼辦?
電腦應用程序常見的錯誤問題,應該這樣解決不行試試
為什麼程序員應該避免間接代碼?
開發者編程時應該圍著「程序」轉嗎?
如何判斷程序員在做什麼?
程序員們,是時候面向故事編程了!
程序員入錯行怎麼辦?
老程序員如何避免淪落出局?
不用再問我當程序員怎麼樣了!統一回復一下
腐蝕rust應用程序退出怎麼辦 程序退出問題解決方法
程序員如何解決線程中斷引發的那些問題?
為什麼程序開發者應該摒棄敏捷?
當女程序員遇到問題時……
作為程序員,有沒有讓你感到既無語又崩潰的程序命名?
聽雲推小程序應用性能監控解決方案:可實時監控發現小程序錯誤
編程測試,程序員過不去的坎?
小程序火了這麼久,究竟應該如何充分利用?
如何避免被程序員暴打?
為何身為程序員的你,不選擇開源?