※ 引述《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这种事
当然啦 要形成这样的软件品质要求 需要的开发文化跟成本门槛是非常巨大的
这大概也是台湾业界 对这几块市场攻击力度没这么强的原因吧?
毕竟这样的软件工程品质要求 非常不利于赚快钱