编写高质量C/C 代码 |
Course Type Image

编写高质量C/C 代码

课程概述

课程围绕“字符串与内存处理”这一问题,通过一系列环环相扣的有趣的故事场景,揭示 C/C 语言中容易让人犯错或是误用的“陷阱”,并从逐步的问题解决中演化出方案、总结出应对规则。 课程中通过简单的示例,对于大型应用中所注重的安全性,性能,资源的利用与回收,以及异常的高效利用有深入的讲解。

听众范围

各类 IT/软件企业和研发机构的软件设计师、程序员。对于对自己的代码不自信,常常被Bug折磨的人非常有效。

课程目标

课程中的理论和经验来自于对大量开发人员常犯错误与所遇问题的归纳、分析与总结。并有针对性的给出解决方法。学员经过课程已经可以充分理解在特定的场景下如何提升代码的质量,并可以根据课程中总结的规则,对自己的代码进行检查,以培养良好的编码风格,和严谨的编码习惯。

课程模块

  • 编写高质量C代码 (180 分钟)
    模块概述

    内容一:什么样的代码是高质量的代码 内容二:利用现有工具提升代码的品质 内容三:如何确保代码的安全性 内容四:如何检查/避免代码中的内存泄露 内容五:杂项

    模块大纲

    内容一:什么样的代码是高质量的代码
    1. 理解高质量代码需要考虑的各种因素
    2. 尝试结合各种因素编写一个高质量的strcpy()
    3. 这样的strcpy()可能会遇到什么样的问题
    4. 该如何一步步解决这些问题
    内容二:利用现有工具提升代码的品质
    1. 如何保证参数的合法性
    2. 如何提高程序的健壮性
    3. 如何优化代码,减少冗余逻辑
    内容三:如何确保代码的安全性
    1. 什么样的代码会有安全问题
    2. 安全问题可能造成的危害
    3. 什么是缓冲区溢出,原理是什么
    4. 如何避免/应对缓冲区溢出
    内容四:如何检查/避免代码中的内存泄露
    1. 内存泄露该如何检查
    2. 应对内存泄露的方法
    3. 权衡,内存泄露时应该考虑的对策
    内容五:杂项
    高阶参数检查
    局部变量不初始化的危害

  • 编写高质量C 代码 (180 分钟)
    模块概述

    内容六:将代码从 C 过渡到 C 内容七:C 字符串类中鲜为人知的秘密 内容八:高效 C 语言,避免C 中的陷阱 内容九:如何正确的处理 C 中的异常

    模块大纲

    内容六:将代码从 C 过渡到 C
    1. C 中高质量代码需要考虑的问题
    2. C 中的内存泄露与 C 中的区别
    3. 如何在 C 中防止数组形式的内存泄露
    内容七:C 字符串类中鲜为人知的秘密
    为什么有时候需要重载拷贝构造函数/赋值运算符
    该怎么确定赋值运算符的返回类型
    为什么要检查自赋值的情况
    避免传回C 类中的内部 handler
    内容八:高效 C 语言,避免C 中的陷阱
    区别对待指针和引用
    为什么需要使用标准的转型操作符
    不要以多态的形式处理数组
    操作符的前后置区别
    内存的分配与释放机制
    内容九:如何正确的处理 C 中的异常
    利用析构函数避免资源泄露(智能指针)
    如何高效的抛出/捕获异常
    为什么在构造函数中阻止资源泄露
    为什么在析构函数中要阻止异常流出

课程评价

暂无课程评价.

      讲师简介

      avatar
      Oven.Dai

      现任职富士通(Fujitsu)资深软件架构师

      • 课程类别: 编程语言
      • 培训周期: 1 天
      即将开课

      暂无开课记录.

      历史开课 (0次)

      暂无开课记录.

      • Weibo
      • WeChat