Boolan 名师直播课:现代C++系统研发骨干特性营

现代C++是系统软件开发的核心语言,其不断增强的新特性融合多种编程范式,庞大而复杂。面对如此庞大复杂的 C++ 体系,C++ 系统工程师成功进阶的关键是什么?如何养成良好的系统软件设计素养?深刻掌握现代C++ 核心思维模型?
针对广大企业培训需求,为助力研发团队技能提升,Boolan 特别开发《现代C++系统研发骨干特训营》线上直播课程,5月重磅上线。第一期课程将由 Boolan 首席软件专家李建忠老师主讲。
讲师介绍

个人简介
Boolan首席软件专家,全球C++及系统软件技术大会主席。对面向对象、设计模式、软件架构、技术创新有丰富经验和深入研究。主讲《设计模式纵横谈》,《面向对象设计》等课程,影响近百万软件开发人员,享有盛誉。曾于 2005年-2010年期间担任微软最有价值技术专家,区域技术总监。拥有近二十年软件技术架构与产品经验。
本次课程由李建忠老师操刀研发并主讲+实战操作,此前曾在线下为各大头部企业内训授课,为包括华为、腾讯、SAP等众多知名企业在内的世界500强提供咨询和教育服务。
课程重点干货
C++的“立国精神”
C++之父Bjarne Stroustrup曾说当初设计C++是为了回答这样一个问题:如何直接操作硬件,同时又支持高效、高级的抽象?经过多年发展,C++一直保持着两方面的关注:
语言构造直接映射到硬件设备
零开销抽象
“零开销”是指:不用的东西,不需要付出代价;使用的东西,手工代码不会做得更好。“抽象”指的是函数、类、模板、概念、别名等。
两种思维模型
机器思维
机器思维指直接映射到硬件,包括语言构造、编译转换、内存模型、运行时机制等在机器架构上的表现形式是什么样子的。机器思维也叫底层思维,总体来说是一种贴近机器层面去深度理解微观机器世界的一种思维模式。
抽象思维
一句话解释抽象思维,是人类管理复杂性的一种技术。程序员通常需要具备强大的抽象思维能力来处理复杂的业务逻辑,完成大型软件的构建。抽象思维包括:设计范式、组件封装、设计模式、构架模式等。
三位一体分析法

时间分析是指看到代码、语言构造要想清楚代码的那些绑定关系,编译时、还是运行时;空间分析是指明白变量/对象放在哪里:栈、堆、bss、代码段、缓存....;人物分析是指清楚代码、软件构成的第三方,第三方代码和自己写的代码以什么样的关系耦合。
五大C++研发能力

初阶C++ 程序员应当熟练掌握类型系统:
类型系统:C++最基础、也是最核心的部分。
中阶C++ 程序员应该熟练掌握编译映射和内存管理:
编译映射:C++难学的点在于编译器里面有无数的细节规则性的东西,编译器在碰到很多语言构造的时候会表现出不同的编译生成代码的行为。
内存管理:内存事关性能,也关乎正确性的表达。不仅仅是内存的管理,还包括内存的布局,之间的结构关系和性能等等一系列问题。
高阶 C++ 程序员应当掌握设计范式和习语与规范:
设计范式:但凡用到这个语言,必然会接触到它的某几种或者某一两种的编程范式。设计范式范畴包括:面向过程、面向对象、泛型编程、函数式编程、模板元编程。
设计习语与设计规范:C++巨大的灵活性,伴随着巨大的复杂性,设计习语和规范是C++进阶的必经之路。设计习语描述了C++语言相关的低层模式,掌握设计习语是避免坑和掌握性能优化的法宝。体系化后的设计习语构成设计规范。
七个维度的软件设计经验

设计范式和设计原则是 C++ 团队的门槛要求;
设计习语和设计规范是 C++ 团队的质量与效率要求;
设计模式和架构模式是架构团队的专项要求。
课程目标
综上所述,建立C++研发骨干核心素养需要以下六点,也是《现代C++系统研发骨干特训营》的核心课程目标:
建立C++ 系统开发两大思维模型:机器思维+抽象思维
深入理解 C++ 内存管理机制和优化技巧,避免各种坑
融会贯通C++面向对象设计方法和经典设计模式思想
掌握模板与编译时多态,深入理解泛型编程设计范式
囊括从C++98到C++11, 14, 17, 20等诸多常用新特性
夯实设计惯用法到设计规范,养成C++专家级编程风范
课程安排
总课时:30课时(授课15课时,实战15课时),每课时50分钟
授课形式:全程线上直播,小班授课模式
授课时间:不定期开班,周期大概4-6个月
面向群体
基于 C++ 进行系统软件开发的软件工程师、高级工程师、软件主管、研发经理、架构师
课程大纲
Part 1. C++类型系统与设施

Part 2. C++面向对象编程

Part 3. C++内存管理

Part 4. 模板机制

Part 5. 泛型编程与STL

精彩回顾
李建忠老师的课程是 Boolan技术赋能培训的品牌课程,在华为、腾讯、SAP、大疆等著名企业内部都获得了高度认可,得到了参训学员一致好评。李老师对C++软件设计的精彩讲解和结合优秀案例的深度剖析,使参训学员在自身业务背景下,不断思考、研习并获得新的方法、模型和思路。

