本课程注重实战,采用案例贯穿方式完成实践,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总,研讨,并最终形成培训教程。本次培训从程序员的基本编程思维开始讲解,通过大量的真实案例,贯穿了设计、编码、重构、单元测试,持续集成等整个软件生命周期过程,详细地介绍了整洁代码编写及重构需要注意的要点以及难点,这些知识都是培训师十几年编程经验的总结。
高质量代码管理培训
一、 培训对象:
各类IT/软件企业和研发机构的项目经理、软件设计师、程序员,质量部门员工。对于如何使团队构建高质量代码怀有疑问和困惑,需要梳理解答的团队和个人,效果*。该课程帮助构建高质量代码团队的流程,工具及核心的执行时间经验的分享,帮助团队在项目之中应用.
二、 学员基础:
学员学习本课程应具备下列基础知识:
了解Java/C#或者C++任一语言,具有面向对象基本概念
如果你不重视代码质量,*不要参加.本课程面向重视代码质量的管理者.
如果你已经多年不写代码,*不要参加,本课程面向一线还在编程的程序员/设计师/架构师
如果你不认为写好代码是一件重要,困难并且有趣的事情,请你不要参加.本课程面向追求完美的程序员.
三、培训内容:
时间 |
授课内容 |
软件代码新视角 |
内容一:高质量代码设计的实践流程 1. 团队实现高质量代码应该具备的主要过程 2. 团队成员间如何进行代码质量的把控 3. 代码评审的如何进行?自动化VS人工评审 4. 编码规范、代码质量度量、代码评审、单元测试的统一应用 内容二:软件代码的新思维----代码就是设计,代码质量决定软件可维护性 1. 软件可维护性(为什么必须重视软件的可维护性) 2. 代码质量概述 3. 破窗效应 4. 对代码的重新认识---代码就是设计 5. 优秀代码的评价标准 6. 好代码和糟糕代码之间的区别 7. 劣质代码的代价 |
整洁代码之道与编码规范 |
1. 代码整洁的核心原则 2. 编码规范的基础规则 3. 有效的命名规则是代码整洁的基础 4. 注释规则与代码内嵌文档的规则 5. 对象生命周期管理 6. 控制流编写规则 7. 对象继承的编程规则 8. Exception管理规则 9. Delegates and events管理规则 10. 数据类型的管理规则 11. 代码风格 12.案例代码分析 |
高质量代码设计对代码的帮助 |
1. 有效的代码设计如何更加清晰的划分代码的结构 2. 代码设计的核心原则 3. 通过设计图设计代码的结构 4. 通过设计图设计代码的调用关系 5. 接口设计的7个实践原则:保障稳定,已用的API接口 6. 类设计的9实践原则:保障有效的完成类的设计过程 7. 实现类的扩展性设计 8. 发现和封装变化的原则 9. 类的职责分配原则:如何划分类 |
必知的21种代码坏味道----如何发现重构点 |
内容一:21种代码坏味道—代码的质量底线 1. 代码坏味道概述 2. 代码坏味道的分类 3. 代码坏味道----低级篇(重复的代码、过长的函数、过大的类、过长的参数列表、发散式变化、分散的修改) 4. 代码坏味道----中级篇(伪面向对象的调用、数据泥团、基本类型的误用、switch-case结构的误用、平行继承体系、过薄的类、只有局部意义的成员变量) 5. 代码坏味道----高级篇(过度耦合的消息链、过薄的中间对象、紧耦合类、相似的类、只有数据的类、滥用类的继承关系) 6. 通过案例,让学员寻找代码坏味道 7. 可以根据客户现在的项目作为案例进行现场分析,找出相应的代码坏味道
内容二:某项目分析----重点了解现实项目代码的充斥大量坏味道 1. 不看不知道,代码到底有多烂—触目惊心的代码 2. 通过重构逐步改善代码质量 3.本案例学习多种重构方式 |
代码质量度量 |
内容一:代码质量度量 1. 多维度的代码质量的度量 2. 业界其他度量标准 3. 通过分析多个实际项目,分别度量相关代码是否标准 4. 自动化的代码质量度量 |
自动化代码审核机制与持续集成 |
内容一:代码静态分析工具进行代码质量度量[开源工具为主] 1. C,C++的代码静态分析工具 2. Java的代码静态分析工具 3. .NET的代码静态分析工具 4. 使用代码检查工具检查代码风格的规范 5. 使用代码分析工具分析代码复杂度指标-形成有效的代码可维护性指标指导开发 6. 分析代码覆盖率 7. 分析代码依赖关系 通过案例演示如何使用代码检查工具完成代码的质量度量与分析 内容一:代码静态分析工具与持续集成的集成形成自动代码检查机制 8. 持续集成概述 9. 持续集成与代码静态分析工具的集成 10. 持续集成的要点和原则 11. 持续集成的准备* 12. 搭建持续集成环境 13. 构建策略和*实践 14. 构建结果通知机制 15. 与问题追踪工具集成 16. 持续集成对代码分析的支持 17. 通过案例演示如何利用持续集成完成代码检查和代码分析 |
单元测试----怎样才能*代码的逻辑正确 |
内容一:TDD测试先行的开发(2小时) 分享TDD 执行过程中一些关键步骤的解决方法,编写TDD测试用例的实践方法 1. TDD的实施过程概述 2. 依据需求确认测试用例,框定开发的需求点,代码修改的安全保障 3. 从测试用例到代码开发 内容二:TDD的单元测试 1. TDD单元测试的范围 2. TDD - 测试驱动的开发 3. 如何有效的进行TDD的单元测试开发 4. 哪些代码需要单元测试 5. 单元测试的时机 6. 单元测试设计原则 7. 测试覆盖性分析 8. 使用XUnit编写单元测试 9. 单元测试实例 10. 通过案例学习单元测试的应用 内容三:百家争鸣:单元测试经验分享 分享从2000年左右到2010年的的单元测试经历,其中*括初期单元测试高成本产生原因及解决方法, 测试用例的指标追溯等 |
建立研发组织的代码质量管理体系 |
1. 代码质量管理体系的主要构成 2. 主要的职责与角色划分 3. 代码质量的保障、度量与监控 4. 分享国际先进研发组织的代码质量保障体系建立 |