求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
 
 
 
开班计划 | 技术学院 | 管理学院 | 嵌入式学院 | 机械 | 军工学院 | 定向培养 | 专家指导 | 角色培养  
 电话 English
成功案例   品质保证
 
成功案例
某核电企 软件设计重构与代码
某集成电 多核体系的软件仿真
某电力能 设计模式原理及应用
南方航空 软件设计方法与实践
某跨国公 软件设计原理与实
爱立信( 软件设计
Moto 设计模式
 
全部课程 >开发技能  
编码规范与单元测试  
325 次浏览  55 次
Lorraine
曾任微软研发中心资深开发经理
时间地点: 北京 深圳 上海 根据报名开课
课程费用:5700元/人
报公开课  
企业内训:可以根据企业需求,定制内训,详见 内训学习手册


认证方式:
培训前了解能力模型。
培训后进行能力评测:
  • 在线考试
  • 能力分析,给出学习建议
  • 合格者颁发证书,作为职业技能资格证明


       同时满足刚刚毕业6个月员工、3年员工、以及资深员工的编程质量要求,这三个层面员工理解的视角不同,课程尽可能照顾三个层面的员工,案例尽可能贯穿三个层面的员工,课程结合编码规范的标准讲解如何进行高质量编码,并结合单元测试进行程序质量测试,课程也会结合实际工作场景介绍软件重构和增量开发的方法和技巧。

    培训目标:

    • 了解代码质量的重要性
    • 学习编码规范的标准
    • 学习提高代码质量的方法
    • 学习高质量编码原则和方法
    • 掌握代码单元测试
    • 学习遗留代码的重构
    • 了解提高代码质量的工具和使用方法
    培训对象:软件开发工程师
    学员基础:具有初步的编程经验
    授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练

    培训内容:3天

    主题 课程安排

    编码质量概览 1. 2好代码和糟糕代码之间的区别
    2. 劣质代码的代价
    3. 软件编码规范的作用
    4. 优秀代码的评价标准
    5. 代码设计与代码质量
    6. 防御性代码的风格
    7. 案例分析:不同质量的代码对比
    8. 动手实践:提高代码质量初探
    编码规范的标准与应用 1. 短码之美与简码规范
    2. 编程规范定义角度与记忆问题
    3. 剖析阿里的编程规范与华为的编程规范
    4. 源代码书写样式与结构布局
    5. 源代码命名风格
    6. 编著有意义的注释
    7. 创建具有上下文语境代码(便于代码交流)
    8. 结对编程与编程规范检查
    9. 团队共同拥有代码 – 个人代码与团队代码
    10. 编程规范的手动检查
    11. 编程规范的自动化检查
    12. 编程规范与绩效考核
    提高代码质量的方法 1. 展示:不同流派的编程模式
    2. 待实现模块的Structured Method
    3. 待实现模块的Object Oriented Method
    4. 对象化与结构化的衔接与图形可视化表达
    5. 结合UML与MDA的自动骨架代码生成
    6. 类函数实现框图中数据流与测试脚本
    7. 动手实践:结合UML与TDD实践
    函数定义之道 1. 函数的单一抽象层次原则SLAP(Single Level of Abstraction Principle)
    2. 函数实现模式之组合函数(Composed Method)
    3. 万恶之源-函数过长
    4. 最小函数原则
    5. 函数命名-怎样取好的函数名
    6. 函数参数过多的危害与最理想的参数数量
    7. 函数参数重构之道-封装参数结构
    8. 函数参数的顺序
    9. 规划函数返回值
    10. 动手实践:基于缓存的接口函数设计
    函数内部结构设计 1. 变量定义常见的错误
    2. 变量的数据类型与作用域
    3. 变量的初始化原则
    4. 变量的持续性与绑定时间
    5. 数据类型和控制结构之间的关系
    6. 全局变量
    7. 复杂条件表示式的危害
    8. 过分深层的“缩进”或者“嵌套”,
    9. 引入解释变量/分解条件/抽取方法计算条件
    10. 表驱动法-多级嵌套IF语句的必然之道
    11. 循环控制与递归控制
    12. 恰当地处理错误
    扩展设计与对象的封装 1. 什么是好的设计和衡量的手段
    2. 可扩展性(Extensibility)容易添加新的功能
    3. 灵活性(Flexibility)代码修改平稳地发生
    4. 可插入性(Plug ability)容易将一个类抽去-同时也可将相同接口类加入
    5. 软件的变化分析-发现变化/封装变化/隔离变化
    6. 分析真实项目如何预先设计,给我们哪些启示,我们可以学习到什么
    7. 软件需求不可预测性-设计师不可能进行预测式设计
    8. 软件演化式设计-敏捷的设计思想
    9. 重构与设计的思想-根据代码坏味道改善设计
    10. 基于设计模式的代码结构的可扩展性
    11. 针对Key-Value的代码静态配置性设计
    12. 针对Script的代码动态配置性设计
    13. 动手实践:基于僵尸设置场景完成可配置性设计
    代码单元测试 1. 单元测试与测试驱动开发TDD
    2. 单元测试用例设计与代码质量
    3. 测试输入、场景、输出、依赖构造技术
    4. 测试技术-边界、等价、因果、决策、正交表、所有值对表等
    5. 函数的输入与输出取值分析与Mapping
    6. 单元测试的Assert编程结构
    7. 单元测试的Mock与Stub编程结构
    8. 复杂数据结构输入与输出的数据构造技巧
    9. 测试数据与测试脚本分离
    10. 代码测试的典型误区与成功实施之道
    11. 动手实践:依据小游戏完成TDD编程
    遗留代码的重构 1. 对比重构与调试
    2. 如何知道重构何止截止
    3. 如何保证重构的正确性-降低风险的措施
    4. 如何快速读懂别人的代码 - 代码阅读技巧
    5. 发现重构点的技巧 – 浓缩22种坏味道的Check List
    6. 依据重构点制定重构策略
    7. 必须修改遗留的代码起因
    8. 遗留代码修改危险事项
    9. 如何对依赖代码做测试
    10. 依赖代码的感知与分离
    11. 依赖代码修改的接缝技术
    12. 修改依赖代码的工具
    提高代码质量的工具
    单元测试工具
    代码检查工具
    代码对比工具
    代码静态分析工具
    代码动态分析工具
       
    325 次浏览  55 次
    其他人还看了课程
    重构复杂遗留系统的最佳实践  6180 次浏览
    编码规范与单元测试  325 次浏览
    高质高效嵌入式软件开发  4750 次浏览
    基于ChatGPT大模型的AIGC智能化应用开发实践  719 次浏览
    对抗软件瑕疵的最佳实践  2039 次浏览
    HTML5 and JavaScript  4982 次浏览
    定制内训


    最新活动计划
    QT应用开发 11-21[线上]
    C++高级编程 11-27[北京]
    LLM大模型应用与项目构建 12-26[特惠]
    UML和EA进行系统分析设计 12-20[线上]
    数据建模方法与工具 12-3[北京]
    SysML建模专家 1-16[北京]