FPGA/PLD
沒有百分百的期望 就不會有百分百的正確
一些研究結果顯示,目前業界出貨的典型程式碼具有0.5~1%的缺陷率,即在十萬行程式產品中的程式碼很可能含有500到1,000個漏洞。縱然有一些廠商做得較好,但平均水準仍低得令人無法接受。
造成品質低落的原因很多,其中包括管理期望。軟體工程本質上被視為一個雜亂的過程,具有無法預料且不可重複的結果。各公司主管和業務部門時常為整體開發過程感到筋疲力竭,因此當他們認為某產品已經準備就緒,他們便期望趕緊出貨,儘管產品仍有潛在問題。
軟體工程確實具有難度,但它不一定非得是混亂不堪或不可預測的。若管理人員不能讓工程師保持高標準,亦不期望工程師寫出正確的程式,那麼他們對缺陷也不會有任何改善。
因此,工程師們應提供高品質、經過嚴格測試且可修護的程式碼。
當然,反過來,工程師們也期望管理階層能提供足夠的資源,包括對個人、工具、必需品和時間上的需求。
舉例而言,報導指出使用SPARK語言的程式碼可達到極低的缺陷率,某些情況下可完成零缺陷產品。缺陷率得以降低的原因有許多,其中包括安全語言(它是Ada的子集)及一些工具的使用,可對註解中提供的註釋進行形式認定檢查。
這些工具至關重要,但SPARK語言獲得成功的關鍵在於一項期望,即開發人員無論何時都將正確地使用該語言,沒有任何捷徑亦不允許任何例外。當然,C語言開發人員也可以從這樣的思維中受益。
然而在許多企業中,程式缺陷卻被認為是正常的。
人類的任何努力都無法做到盡善盡美,所以缺陷勢必會存在。但軟體產業是這個世界上唯一能夠提供充滿已知缺陷卻不會被控告的產業。也許將有那麼一天,這世界淨化到無人吸菸,且石棉煙嘴也全被埋沒,那麼,你認為這些律師未來將會處理什麼樣的案件呢?
作者:Jack Ganssle
獨立嵌入式講師暨顧問
社區今日頭條 |
---|
我來評論 - 沒有百分百的期望 就不會有百分百的正...
遊客(您目前以遊客身份發表,請 登陸 | 註冊)
科技前瞻
EE人生人氣排行