赵永刚

Boolan资深咨询师

C++技术专家

讲师介绍

Biography

现任 Boolan 首席咨询师,16 年 C/C++系统级软件开发经验,前诺基亚贝尔资深架构师,内部技术教练,是系统软件架构、代码安全、性能优化方面的专家。开发经验涉及多个领域,包括通信、嵌入式 Linux 开发、自动驾驶系统软件产品开发。14 年嵌入式系统开发经验,从上层应用开发到底层硬件适配层开发均有丰富的经验。在上海诺基亚贝尔有限公司历任软件工程师、高级软件工程师、资深软件架构师。10+个大型项目开发经验,主要项目均为嵌入式系统开发,操作系统包括VxWorks、嵌入式Linux,软件模块包括应用层和硬件适配层,主要开发语言为C/C++。

作为资深架构师,进行软件选型,软件模块功能划分,关键资源分析,作为架构守护,在实际开发中和开发工程师沟通、设计、评审系统软件架构设计。作为技术教练多次进行《C++ as better C》和《C/C++整洁代码》的培训,课程深受学员好评,评分均为 9 分以上。组织代码训练营,内容包括代码设计的目标(高内聚、低耦合),正交设计原则,SOLID 原则,设计模式实践。 组织整洁代码道场,采用实际项目中的代码,以代码道场的形式对实际代码进行重构。

在项目开发中,坚持以 UT、自动化测试为保证,对于不良设计,在保证交付的前提下,进行代码重构,提高了代码的可维护性和可读性,降低了新功能开发的难度。作为 Code Guarder,对整个产品线提交的代码进行评审,以高质量的评审,保证了产品代码的开发质量。 熟悉代码安全设计的常用技巧,坚持以安全代码为指导原则。在代码安全方面的工作包括:
1)负责定义公司安全代码规范。参考汽车行业安全标准MISRA C/C++和AUTOSAR C/C++制定项目的C/C++安全子集。这些标准都是选择了C/C++的子集,禁止使用一些在 标准里没有明确定义或未明确要求的语言特性。基于安全代码规范建立了代码审计的流 程,使用静态代码检查工具对代码质量进行跟踪。
2)定义代码度量标准,指导项目进行重构。考虑圈复杂度,代码执行路径,模块扇入扇 出,接口大小等因素,制定了代码的度量标准,指导项目开发按照度量标准和领域模型,合理地进行重构。
3)建立代码的动态检查流程,单元测试要求达到分支覆盖和MC/DC覆盖,从代码层面达 到高标准的安全。
4)设计冗余的软件架构,达到车规级的高安全标准。使用防御性编程的理念,指导分析安 全需求,并应用到代码设计。