首页>全部课程>高质量代码编写与设计最佳实践
高质量代码编写与设计最佳实践
东方瑞通资深讲师
高质量代码编写与设计最佳实践
报名课程可获赠200.0元助学金,助学金说明 >>
直播面授
课程图标 课程代码 alx012
标题图标 课程介绍 标题图标
本课程注重实战,采用案例贯穿方式完成实践,收集了大量的真实案例,针对项目过程中技术人员常犯的错误进行了汇总,研讨,并最终形成培训教程。本次培训从程序员的基本编程思维开始讲解,通过大量的真实案例,贯穿了设计、编码、重构、单元测试,持续集成等整个软件生命周期过程,详细地介绍了整洁代码编写及重构需要注意的要点以及难点,这些知识都是培训师十几年编程经验的总结。
标题图标 课程大纲 标题图标

 

时间

授课内容

第一单元软件代码新视角

(2小时)

内容一:高质量代码设计的实践流程

  1. 团队实现高质量代码应该具备的主要过程

  2. 团队成员间如何进行代码质量的把控

  3. 代码评审的如何进行?自动化VS人工评审

  4. 编码规范、代码质量度量、代码评审、单元测试的统一应用

内容二:软件代码的新思维----代码就是设计,代码质量决定软件可维护性

  1. 软件可维护性(为什么必须重视软件的可维护性)

  2. 代码质量概述

  3. 破窗效应

  4. 对代码的重新认识---代码就是设计

  5. 优秀代码的评价标准

  6. 好代码和糟糕代码之间的区别

  7. 劣质代码的代价

第二单元整洁代码之道与编码规范

(3小时)

  1. 代码整洁的核心原则

  2. 编码规范的基础规则

  3. 有效的命名规则是代码整洁的基础

  4. 注释规则与代码内嵌文档的规则

  5. 对象生命周期管理

  6. 控制流编写规则

  7. 对象继承的编程规则

  8. Exception管理规则

  9. Delegates and events管理规则

  10. 数据类型的管理规则

  11. 代码风格

  12. 12.        案例代码分析

第三单元高质量代码设计对代码的帮助

(2小时)

  1. 有效的代码设计如何更加清晰的划分代码的结构

  2. 代码设计的核心原则

  3. 通过设计图设计代码的结构

  4. 通过设计图设计代码的调用关系

  5. 接口设计的7个实践原则:保障稳定,已用的API接口

  6. 类设计的9实践原则:保障有效的完成类的设计过程

  7. 实现类的扩展性设计

  8. 发现和封装变化的原则

  9. 类的职责分配原则:如何划分类

第四单元 必知的21种代码坏味道----如何发现重构点

(2小时)

内容一:21种代码坏味道代码的质量底线

  1. 代码坏味道概述

  2. 代码坏味道的分类

  3. 代码坏味道----低级篇(重复的代码、过长的函数、过大的类、过长的参数列表、发散式变化、分散的修改)

  4. 代码坏味道----中级篇(伪面向对象的调用、数据泥团、基本类型的误用、switch-case结构的误用、平行继承体系、过薄的类、只有局部意义的成员变量)

  5. 代码坏味道----高级篇(过度耦合的消息链、过薄的中间对象、紧耦合类、相似的类、只有数据的类、滥用类的继承关系)

  6. 通过案例,让学员寻找代码坏味道

  7. 可以根据客户现在的项目作为案例进行现场分析,找出相应的代码坏味道

 

内容二:某项目分析----重点了解现实项目代码的充斥大量坏味道

  1. 不看不知道,代码到底有多烂—触目惊心的代码

  2. 通过重构逐步改善代码质量

  3. 本案例学习多种重构方式

第五单元 重构技术—怎样对现有代码重构

(3小时)

内容一:重构技术

  1. 重构名录

  2. 介绍72种常见的重构技术

  3. 分别通过相关案例展示重构技术

 

内容二:重构案例该案例重点学习代码格式和命名

  1. 代码格式规范

  2. 代码命名-名副其实

  3. 很重要,但是总被忽略的基本功

  4. 通过案例介绍代码格式以及如何使用IDE工具进行定制格式

  5. 通过案例介绍代码的命名,以及如何重构

 

内容三:重构案例该案例重点  函数和函数调用重构

  1. 函数的重构

  2. 函数调用重构

  3. 通过案例介绍函数的重构

 

内容四:重构案例该案例重点 对象职责和对象重构

  1. 过程化思维和面向对象设计

  2. 对象的重新思考

  3. 职责驱动的对象设计

  4. 通过案例介绍如何重构面向过程代码到面向对象

 

内容五:重构案例该案例重点 数据结构重构

  1. 数据结构重构

  2. 通过案例介绍如何重构面向过程代码到面向对象

 

内容六:重构案例该案例重点 复杂条件表达式重构

  1. 复杂条件表达式重构

  2. IF/Else语句的危害

  3. Switch语句的危害

  4. 通过案例介绍如何重构面向过程代码到面向对象

第六单元 代码质量度量

(1小时)

内容一:代码质量度量

  1. 多维度的代码质量的度量

  2. 业界其他度量标准

  3. 通过分析多个实际项目,分别度量相关代码是否标准

  4. 自动化的代码质量度量

第七单元 自动化代码审核机制与持续集成

(2小时)

内容一:代码静态分析工具进行代码质量度量[开源工具为主]

  1. C,C++的代码静态分析工具

  2. Java的代码静态分析工具

  3. .NET的代码静态分析工具

  4. 使用代码检查工具检查代码风格的规范

  5. 使用代码分析工具分析代码复杂度指标-形成有效的代码可维护性指标指导开发

  6. 分析代码覆盖率

  7. 分析代码依赖关系

通过案例演示如何使用代码检查工具完成代码的质量度量与分析

内容二:代码静态分析工具与持续集成的集成形成自动代码检查机制

  1. 持续集成概述

  2. 持续集成与代码静态分析工具的集成

  3. 持续集成的要点和原则

  4. 持续集成的准备工作

  5. 搭建持续集成环境

  6. 构建策略和最佳实践

  7. 构建结果通知机制

  8. 与问题追踪工具集成

  9. 持续集成对代码分析的支持

  10. 通过案例演示如何利用持续集成完成代码检查和代码分析

第八单元 单元测试----怎样才能保证代码的逻辑正确

(2小时)

内容一: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小时)

  1. 代码质量管理体系的主要构成

  2. 主要的职责与角色划分

  3. 代码质量的保障、度量与监控

  4. 分享国际先进研发组织的代码质量保障体系建立