【学习笔记】编程规范

参照这个文档

变量

  1. 变量命名用英文小写【禁用拼音】,名词或形容词_名词;类名和结构体名用驼峰

  2. 左值一定是可以改变的,右值一定是初始化过的

  3. 变量首次使用之前一定要初始化,初始化的地方离使用的地方越近越好。

  4. 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解

    int error_number;
    int number_of_completed_connection;
    
  5. 常用缩写

    argument 可缩写为 arg
    buffer 可缩写为 buff
    clock 可缩写为 clk
    command 可缩写为 cmd
    compare 可缩写为 cmp
    error 可缩写为 err
    hexadecimal 可缩写为 hex
    initialize 可缩写为 init
    maximum 可缩写为 max
    message 可缩写为 msg
    minimum 可缩写为 min
    parameter 可缩写为 para
    previous 可缩写为 prev
    temp 可缩写为 tmp
    
  6. 全局变量应增加“g_” 前缀,静态变量应增加“s_”

    首先,全局变量十分危险,通过前缀使得全局变量更加醒目,促使开发人员对这些变量的使用更加小心。

    其次,从根本上说,应当尽量不使用全局变量,增加g_和s_前缀,会使得全局变量的名字显得很丑陋,从而促使开发人员尽量少使用全局变量。【哈哈哈哈哈哈哈哈】

函数

  1. 函数名全部小写字母且用_连接多个单词命名变量,一般是动词或动词_名词
  2. 一个函数只完成一个功能
  3. 对函数的错误返回码要全面处理
    一个函数(标准库中的函数/第三方库函数/用户定义的函数)能够提供一些指示错误发生的方法。这可以通过使用错误标记、特殊的返回数据或者其他手段,不管什么时候函数提供了这样的机制,调用程序应该在函数返回时立刻检查错误指示。
  4. 函数不变参数使用const
  5. 函数应避免使用全局变量、静态局部变量和 I/O 操作
  6. 函数在使用输入参数之前,应进行有效性检查。

宏、常量

  1. 常量全部大写
  2. 尽量不用宏

表达式

  1. 赋值语句不要写在 if 等语句中,或者作为函数的参数使用

    因为if语句中,会根据条件依次判断,如果前一个条件已经可以判定整个条件,则后续条件语句不会再运行,所以可能导致期望的部分赋值没有得到运行。
    错误示例: if ((a == 0) || ((b = fun1()) > 10))

注释

  1. 想暂时排除代码,也要留个标注,不然可能会忘记处理它。

  2. 在代码的功能、意图层次上进行注释,即注释解释 代码难以直接表达的意图 , 而不是重复描述代码

    注释的目的是解释代码的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息。对于实现代码中巧妙的、晦涩的、有趣的、重要的地方加以注释。注释不是为了名词解释(what),而是说明用途(why)。

  3. 重要的、复杂的函数,提供外部使用的接口函数应编写详细的注释。

  4. 全局变量要有较详细的注释,包括对其功能、取值范围以及存取时注意事项等的说明

排版

  1. 换行时要增加一级缩进,使代码可读性更好;
    低优先级操作符处划分新行;换行时操作符应该也放下来,放在新行首;
    换行时建议一个完整的语句放在一行,不要根据字符数断行。
    正确示例:

    if ((temp_flag_var == TEST_FLAG)
    &&(((temp_counter_var - TEST_COUNT_BEGIN) % TEST_COUNT_MODULE) >= TEST_COUNT_THRESHOLD))
    {
        // process code
    }
    
  2. 如果if/else配套语句中有一个分支有“{}”,那么另一个分支即使一行代码也建议增加“{}”

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值