※ 引述《tomer (卯月影)》之銘言:
: 像是toyota弄他們自己的車載、或者中國一些搞醫療器材的
: Code在merge前一定是送過code scan的
: 前面講的一些未定義行為
: 或者可能造成memory leak之類的code
: 通通都會被抓出來
: 一些太新、或者被認為風險很高的「奇技淫巧」也會被禁用
: 這個是從coding執行面最大限度減少出現怪事情的風險
: 當然也是挺花錢的
: Code scan本身就不便宜了
: 修正也是很耗人力成本
: 這種工程師不能隨便請
: 你給一些搞不清楚狀況的工程師去改
: 可能改好幾次還是掃不過
: 或者改出bug通不過測試
: 最後就是真的ship後出bug的對應
其實軟體工程品質在許多業界 還是有在要求的 甚至是成為規範跟SOP
像在以下的業界:
‧ 汽車
‧ 航空航太和國防
‧ 醫療設備
這些業界 只要是關鍵的零組件 SW/FW 什麼MISRA C++ 跟 AUTOSAR 根本是基本的要求
在寫code之前 需求/規劃書/流程圖是標配 這些沒產出你寫出來的東西根本沒人要看
有些東西甚至是model base的玩意兒 : simulink 拉Model然後直接code generation
text coding甚至不是主要的工作
還有一堆SW/HW function fail safe / fail work的東西要處理....etc
相較之下 最後的coding反而都是次要的
在你coding之前 一堆架構跟流程的東西早該要被討論清楚
要產出的文件 effort多到是coding的好幾倍
上述軟體工程需求跟消費型電子的軟體品質需求 根本是兩個世界
畢竟這些都是跟人身安全相關的 沒人會放心你放乖乖就會work這種事
當然啦 要形成這樣的軟體品質要求 需要的開發文化跟成本門檻是非常巨大的
這大概也是台灣業界 對這幾塊市場攻擊力度沒這麼強的原因吧?
畢竟這樣的軟體工程品質要求 非常不利於賺快錢