课程背景
本课程分析了代码腐化的原因,并为代码腐化开出药方:优先改变代码的实现者“人”,再辅以质量保证活动和自动化检查工具。从改变“人”的思想和提升“人”的开发能力两方面,传授了众多技巧。讲解了几种软件质量“自动化检查工具”的使用方法。推介了几种“质量保证实践活动”。
【课程收益】
让程序员获得主动优化代码的内心动力,并学会开发优质代码的各种能力。
让软件架构师、设计人员具备模块化程序设计能力。
让测试人员了解先进的自动化测试工具,降低大量回归测试的人力和时间成本。
让项目经理了解“敏捷开发”中推崇的质量保证实践活动。
【课程大纲】
一、引子
主题一:代码变烂的原因和代价
1、代码腐化的4个原因
2、技术债务
3、被技术债务拖垮的巨头公司
主题二:重新认识代码质量管理
1、重新认知软件成本
2、重新认知软件质量
3、代码腐化的根本原因—“代码内部质量”管理缺失管理
(1)优先改变“人”
(2)其次使用“流程和工具”
二、提升开发人员的技能
主题三:改变开发人员的思想
1、从中兴的案例说起
2、来自*程序员的反例
3、重建代码价值观
4、童子军军规―让营地比你来时更干净
主题四:框架设计能力—模块化程序设计
1、 什么是模块?
2、 什么是好模块?
3、 模块接口设计
4、 “C语言”模块怎么组包
5、模块第1大杀手—全局变量
6、模块第2大杀手—循环依赖
主题五:腐化代码的感知能力—嗅出代码的坏味道
1、重复的代码
2、含糊不清的命名
3、过长的函数
4、过长的参数列表
5、过度复杂的条件逻辑
6、散弹式修改
7、发散式变化
8、过多的注释
9、夸夸其谈未来性
主题六:纳米级架构设计能力—函数封装
1、创建函数的理由
2、高质量函数的三原则
3、多创建助手函数
主题七:语句编写能力—函数内部优化
1、驯服深层嵌套
2、消除魔鬼数字
3、优化循环
4、优化变量
5、简化表达式
6、缩短参数列表
主题八:规避Bug的能力—规避C语言陷阱
1、头文件陷阱与规避办法
2、指针陷阱与规避办法
3、宏定义陷阱与规避办法
4、运算符陷阱与规避办法
5、语句陷阱与规避办法
6、内存陷阱与规避办法
主题九:可读性代码编写能力—提高代码可读性
1、排版
2、命名—自注释
3、精炼的注释
三、自动化质量检测工具与
软件质量保证活动
主题十:自动化质量检测工具
1、代码内部质量评判工具―SourceMonitor
2、静态语法检测工具―PC-Lint
3、持续集成工具―自动化检测与测试
(1)CrusieControl
(2)Sonar
主题十一:软件质量保证活动
1、质量保证的基础:“持续集成”构建成功
2、代码走查
3、结对编程
4、自动化测试
5、测试用例评审
【讲师介绍】
张老师,具有多年嵌入式软件开发、设计和管理经验,曾在华为和科陆公司担任高级软件工程师、系统工程师、敏捷教练、CMMI设计组组长等职务。主要擅长敏捷实践在各领域的应用,包括代码持续优化与重构、嵌入式C语言架构设计与自动化测试、C#软件架构设计与自动化测试。精通面向对象设计技术以及设计模式运用。同时在项目管理尤其是敏捷软件管理方面具有丰富的经验。
|
||
联系电话:4000504030 |
线上课程关注公众号 |