C语言编程规范(华为软件精英挑战赛)

原文链接: http://codeshold.me/2017/03/c_programming_specification.html

参加华为软件精英挑战赛,复习了下基本的C语言编程规范,并做了小结!

C语言编程规范

  1. 头文件

    • 编译过程
      QQ截图20170312104621.png-309.8kB
  2. 函数编程规范

    • 圈复杂度小于7:一个函数可以执行的路径条数
    • 函数要短小(推荐小于50行, 每行80个)
    • 嵌套层数小于5
    • 职责单一
    • 抽象层单一:同一层的抽象在同一层
    • 参数不超过3个
    • 避免重复
    • 避免重入问题: 锁机制
    • 不要返回局部变量
  3. 语法规范
    • 命令、注释、格式、效率、安全
      • 效率和可维护性冲突时,往往选择后者
    • 安全:通过指针访问内存(优点也是缺点)
      • 地址&内存空间:Data(常量区、全局变量区、静态变量区、堆、栈)+Code(代码区)
  4. C语言常见问题
    • 堆管理
      • 申请粒度不易过细,过细的建议使用栈空间(建议大于8字节)
    • 栈管理
      • 不要返回栈空间地址,进程间通信不要传递或返回栈变量
    • 强制类型转换(用来欺骗编译器)
    • 整数溢出
    • 字节对齐(取自身长度和对齐长度的最小值)
      • 将数据结构设置为与字节无关的(或者添加字节预留符)
      • 字节对齐说明
    • 字节序
      image_1bb0dl4ce12i817mqih49cqm4i1e.png-515.8kB
    • 代码:小心取地址符号,小心, 指针加减(按指针所指向的元素的大小移动),将数组名或字符串名的值即是其第一个元素的地址!

相关
– 《代码简洁之道》
– 《重构》

– 代码检视、单元测试、集成测试、系统测试

说明

  1. 华为软件精英挑战赛,C语言规范视频
  2. 华为C语言编程规范, pdf下载链接

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113636 人正在系统学习中

来源:疯子19911109

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年2月11日
下一篇 2017年2月11日

相关推荐