SCE211:代码整洁与重构实践

线下课堂时间:3 天实战演练面授
  • 【深圳】    2017/12/29、30、31脱产+周末班
  • 以上为计划开课时间,具体时间请咨询课程顾问
预约试听
课程介绍
适用对象:软件编程人员
学习收获:软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。 本课程提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。本课程给出了一系列行之有效的整洁代码操作实践。并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。 课程中介绍的规则均来自讲师多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值
详细大纲
1 代码格局
1.1 软件代码新视角
1.1.1 软件可维护性的特征
1.1.2 好代码和糟糕代码之间的区别
1.1.3 劣质代码的代价
1.1.4 优秀代码的评价标准
1.1.5 代码设计与代码质量
1.1.6 案例分析:不同质量的代码对比
1.2 整洁代码之道与编码规范
1.2.1 代码整洁的核心原则
1.2.2 编码规范的基础规则
1.2.3 有效的命名规则是代码整洁的基础
1.2.4 注释规则与代码内嵌文档的规则
1.2.5 变量生命周期规则
1.2.6 控制流编写规则
1.2.7 代码风格
1.2.8 案例代码分析
1.3 防御性编程(代码攻防编程)
1.3.1 防御性代码的风格
1.3.2 编译警告开关的使用
1.3.3 安全的数据结构
1.3.4 检查所有的返回值
1.3.5 审慎处理内存资源
1.3.6 在声明位置初始化所有变量
1.3.7 延迟声明变量
1.3.8 审慎地进行强制转换
1.4 精心布局
1.4.1 源代码书写样式
1.4.2 源代码结构布局
1.4.3 源代码命名风格
1.4.4 函数原子化
1.4.5 恰当地处理错误
1.4.6 编著有意义的注释
1.4.7 创建具有上下文语境代码(便于代码交流)
2 整洁函数设计之道
2.1 最小函数之道
2.1.1 函数的单一抽象层次原则SLAP(Single Level of Abstraction Principle)
2.1.2 函数实现模式之组合函数(Composed Method)
2.1.3 万恶之源-函数过长
2.1.4 最小函数原则
2.1.5 函数命名-怎样取好的函数名
2.1.6 通过大量项目代码分析,函数的遇到的各种问题,如何编程高质量函数
2.2 函数体中的代码重复
2.2.1 重复的危害
2.2.2 强加的重复/无意的重复/无耐心的重复/开发者之间的重复
2.2.3 不要重复自己DRY—Don’t Repeat Yourself Principle
2.2.4 Make It Easy to Reuse(让复用变得容易)
2.2.5 改变重复性代码
2.2.6 演示研发过程之中的常见重复问题,以及如何解决
2.3 函数参数与返回值
2.3.1 函数参数过多的危害
2.3.2 最理想的参数数量
2.3.3 函数参数重构之道-封装参数结构
2.3.4 函数参数的顺序
2.3.5 规划函数返回值
2.3.6 通过大量项目代码是函数参数问题
2.4 函数体中的变量
2.4.1 变量定义常见的错误
2.4.2 变量的数据类型
2.4.3 变量的初始化原则
2.4.4 变量的作用域
2.4.5 变量的持续性
2.4.6 变量的绑定时间
2.4.7 数据类型和控制结构之间的关系
2.4.8 全局变量
2.4.9 通过大量项目代码演示变量相关问题
2.5 复杂表达式
2.5.1 复杂条件表示式的危害
2.5.2 过分深层的“缩进”或者“嵌套”
2.5.3 引入解释变量/分解条件/抽取方法计算条件
2.5.4 表驱动法-多级嵌套IF语句的必然之道
2.5.5 表驱动法使用总则
2.5.6 通过大量项目代码演示条件表达式编码问题
2.6 循环控制
2.6.1 选择循环的种类
2.6.2 循环控制
2.6.3 循环的创建-有内向外
2.6.4 循环与数组
2.6.5 递归
2.6.6 通过大量项目代码演示循环控制可以解决的编程问题
3 重构与TDD
3.1 代码测试
3.1.1 单元测试与测试驱动开发
3.1.2 单元测试用例规划
3.1.3 代码测试的典型错误
3.1.4 改善测试过程
3.1.5 通过大量项目代码演示TDD可以解决的编程问题
3.2 代码重构
3.2.1 重构必然性
3.2.2 实际重构遇到的4大问题
3.2.3 如何发现重构点
3.2.4 如何完成重构
3.2.5 如何知道重构何止截止
3.2.6 如何保证重构的正确性
3.2.7 介绍常见的重构技术
3.2.8 重构到模式的思维
3.3 修改遗留项目代码的艺术
3.3.1 必须修改遗留的代码起因
3.3.2 遗留代码修改危险事项
3.3.3 如何对依赖代码做测试
3.3.4 依赖代码的感知与分离
3.3.5 依赖代码修改的接缝技术
3.3.6 修改依赖代码的工具
3.3.7 降低风险的措施
3.4 代码调试
3.4.1 代码调试
3.4.2 寻找代码缺陷
3.4.3 调试的心里因素
3.4.4 调试工具
3.5 代码评审
3.5.1 代码评审前期准备
3.5.2 代码评审的代码量
3.5.3 代码评审的检查表
3.5.4 如何解决代码评审的形式化问题
课程评价

课程评价({{EvaluationTotal}})

课程满意度

评价

您还没有给课程评分哦

满意度

    追加评价:

课程咨询
内容:

您还没有填写内容!

暂无问答,赶紧去提问吧
{{item.AnswerState==1?"已解决":"未解决"}}
{{item.Content}}
{{item.StudentAskTime}}
{{itemanswer.UserName}}
{{itemanswer.Content}}
{{itemanswer.StudentAskTime}}
同类课程推荐 more
免费大讲堂 more
原创文章 more

您好! 欢迎来到学领未来 !

学领未来提供线上及线下的学习服务,根据您的位置,为您推荐最近的线下培训地点 分站,你选择: