zoukankan      html  css  js  c++  java
  • 好的编程风格

    1。关键字 if, while, for 后有一个空格

    2。=号之类的双目运算符两侧都有空格

    3。后缀运算符和操作数之间不加空格 例如 s.a , foo(argu) , a[i]

    4。, 号和 ; 号之后要加空格,例如 foo(argu1, argu2) for (i=0; i<20; i++)

    5。关于双目运算符两侧加空格可以灵活规定,例如 distance = sqrt(x*x + y*y),突出结合方式

    6。如果程序需要换行,则要与上一行的表达式对齐 foo(sqrt(x*x + y*y))

                                                                              a[i-1] + b[i-1] + c[i-1])

    7。较长的字符串可以段成多个字符串,并且要对齐

           printf(“This is such a long stenance that”

                      "it can not be leld\n”);  这个 print函数中的字符串就跟一个是一样的

    8。有的人喜欢在变量定义语句中使用 Tab 字符,使变量名对齐。

          int            a, b;

          double    c;

    9。关于缩进的规则 建议使用 tabstop=8,看起来层次非常明显  

    10。if/else , while , do/while , for , switch 等语句块的大括号,不要单独占一行 , 建议 if () {} ,并且大括号

         之前要有个空格。

    11。函数定义的大括号,{},要单独占一行。

    12。switch语句中的case,default对齐写,

    switch风格

    13。代码中没个逻辑段落之间应该有一个空格分开,例如全局变量与函数之间,或者函数与函数之间。

    14。一个函数内,语句列表很长,分组,例如变量定义为一组加空格,语句,return 0 是一组,加空格。

    15。单行注释 /* comment */ 用空格把定界符和注释分开。多行注释风格如下

    多行注释

    16。使用注释的场合

    • 整个源文件顶部。说明此模块信息。顶头写,不缩进
    • 函数注释,说明此函数的功能,参数,返回值,错误等等,卸载函数定义上侧,和此函数之间不留空行,顶头写
    • 相对独立的语句注释,对这一组语句做特别说明,在语句组上侧,和此语句组不留空行,与当前与剧组缩进一致
    • 代码右侧简短注释,对当前代码行做特别说明,一般为单行注释,和代码之间至少用一个空格分开,最好能上下对齐。
      函数内的注释要尽可能少,写注释主要是未了 说明你的代码“能做什么”比如函数接口的定义,而不是为了说明“怎么做”,只要代码写的清楚,“怎么做”是一目了然的,除非是特别需要提醒注意的地方菜使用函数内的注释。
    • 复杂的结构体定义比函数更需要注释。
    • 复杂的宏和变量声明也需要注释。

    17。标识符命名

    • 清晰明了,可以使用完整单词和易于理解的缩写,短的单词可以采用去元音的缩写形式,长的单词可以取单词的头几个字母形成缩写。
    • 内核编码风格规定变量,函数和类型采用全小写加下划线_的方式命名,常量(比如宏定义和枚举常量)采用全大写加下划线的方式,例如 函数 radix_tree_insert 类型名 struct radix_tree_root,常量RADIX_TREE_MAP_SHIFT等 ( 不要使用匈牙利命名法)C++中可以使用大小写字母,叫做CamelCase
    • 全局函数和全局变量的命名一定要详细,不惜多用几个单词多写几个下划线,例如radix_tree_insert,因为它们在整个项目的许多源文件中都会用到,必须让使用者明确这个函数或变量是干什么用的。局部变量和只在一个源文件中调用的内部函数的命名可以简略一些。但不能太短,尽量不要使用单个字母,只有一个例外:用 i , j , k 做循环变量可以。
    • 禁止使用汉语拼音做标识符。

    18。函数 ( 每个函数都应该尽可能的简单,以下内容如果不能满足,考虑分割函数)

    • 实现一个函数只是为了做好一件事情
    • 函数内部缩进不易过多,一般最多不能超过4层。
    • 函数不要写的太长,建议在24行的标准终端上不超过两屏,太长会造成阅读困难。如果一个函数在概念上是简单的,只是长度长了一点,没关系。例如一个函数是由一个大的switch语句组成,其中有很多个case,这是可以的。
    • 执行函数就是执行一个动作,函数名通常应包含动词。例如 get_current
    • 比较重要的函数定义上侧必须加注释,说明函数的功能,参数,返回值,错误码等等
    • 另一个度量函数复杂度的办法是看有多少个局部变量,一般5-10个局部变量已经很多了。

    19。indent工具(可以格式化代码的工具)参数 –kr –i8

  • 相关阅读:
    Linux下修改MySQL数据库字符编码为UTF-8解决中文乱码
    ODS与DW之间的关系
    如何使用Hive&R从Hadoop集群中提取数据进行分析
    CentOS6.5下实现R绘图
    Util.FSUtils: Waiting for dfs to exit safe mode
    Grafana邮件报警
    CentOS7安装Grafana(Yum)
    CentOS7安装Node_exporter(二进制)
    CentOS7安装Prometheus(二进制)
    linux查看进程内存占用
  • 原文地址:https://www.cnblogs.com/moveofgod/p/2706132.html
Copyright © 2011-2022 走看看