计算机基础(八):linux编程规范总结

linux编程规范小结

1、函数:(子)模块接口函数大写字母开头: AddUser()
        (子)模块内部调用函数小写字母开头:addUser()
         接口函数/回调函数以‘__’+ 大写字母开头: __AddUser


2、变量:单词小写,以下划线连接
         全局变量以g_为前缀
         静态变量以s_为前缀


3、类型:单词以大写字母开头,不包含下划线
         类型包括结构体、类型定义(typedef)、枚举
         枚举值应全部大写,单词间以下划线相连


4、文件:单词小写,以下划线连接
         .c 文件与对应的.h 文件、命名保持一致
         Power_manager.c、power_manager.h、
         头文件不与标准库头文件重名

 

5、排版:

  1)行宽不超过80 个字节,超过80 个字节的语句做换行处理。
  2)不留2 个以上的空行。
  3)相对独立的程序块之间应该有空行。
  4)缩进以4 个空格替换TAB。
  5)不留冗余空格
  6)应当添加空格的处理
            (1) 逗号后面加空格
            (2) 二目、三目运算符加空格
if、for、while、switch 等与后面的括号间应加空格
 7)不应当添加空格的处理
(1)左括号后、右括号前不加
(2)单目操作符前后不加空格
(3)"->"、"."前后不加空格


6、条件语句
1)if/switch/while/for等条件判断语句、左大括号、右大括号,独立站一行
2)所以条件分支语句不论行数多少,都应当加大括号
3)switch语句
(1)case块需用大括号包含。
(2)case关键字与switch关键字保持4个空格缩进。
(3)break关键字与case关键字对齐,且break关键字在大括号内。
(4)必须包含default处理。


7、安全
(1)必须了解编译系统的内存分配方式,特别是编译系统对不同类型的变量的
          内存分配规则,如局部变量在何处分配、静态变量在何处分配等。
          禁止内存操作越界。内存操作主要是指对数组、指针、内存地址等的操作。


   (2)避免内存越界:
       1) 数组的大小要考虑最大情况,避免数组分配空间不够。
       2) 避免使用危险函数sprintf /vsprintf/strcpy/strcat/gets操作字符串,使用相对
         安全的函数snprintf/strncpy/strncat/fgets代替。
      3) 使用memcpy/memset时一定要确保长度不要越界
      4) 字符串考虑最后的’\0’,确保所有字符串是以’\0’结束
      5) 指针加减操作时,考虑指针类型长度
     6) 数组下标进行检查
     7) 使用时sizeof或者strlen计算结构/字符串长度,避免手工计算


(3)禁止栈溢出
      不同操作系统的堆栈空间不一样,对于melis 系统,堆栈空间更小,不能不加限制    地使用栈空间,坚持以下措施可避免栈溢      出:
    1)不以结构体类型作为函数入参,以对应数据类型指针传递。
    2)局部变量总和大小不能太大,建议不要超过512Byte。

(4)禁止内存泄漏:内存和资源(包括定时器/文件句柄/Socket/队列/信号量/GUI等各资源)泄漏是常见的错误。坚持下列措施可以避免内存泄漏:
     1) 坚持谁申请谁释放原则,
       2) 异常出口处检查内存、定时器/文件句柄/Socket/队列/信号量/GUI 等资源是否
           全部释放
     3) 删除结构指针时,必须从底层向上层顺序删除
     4) 使用指针数组时确保在释放数组时,数组中的元素指针是否已经提前被释放了
     5) 避免重复分配内存
    6) 小心使用有return、break 语句的宏,确保前面资源已经释放
    7) 检查队列中每个成员是否释放


8、效率
1)循环体:仔细考虑循环体内的语句是否可以放在循环体之外,使循环体内工作量    最小,从而提高程序的时间效率。应将最忙的循环放在最内层,减少CPU 切入循        环层的次数。
2)避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值