美文网首页
第4章 缩进相关编码准则

第4章 缩进相关编码准则

作者: FelixDai | 来源:发表于2019-08-02 16:11 被阅读0次

4.1 大括号的位置

第一种风格:大括号和语句位于同一行
while(!END) {
    printf("continue ... ");
    continue(); }
if(next == TRUE) {
    go_next();
    go_on(); }
else {
    go_prev();
    go_on(); }

这种风格在C语言出现早期很常见。当时,使用C语言的程序员人数少、编码经验不足、正式的C语言编码标准尚未确立,甚至连C语言编码的管理都还未形成。现在看来,按当时流行的这种风格编写的程序很难理解。因为要想知道函数或代码块从何处开始、到何处结束,就不得不留意所有语句的最右侧。

第二种风格:大括号和语句分占不同行
while(!END)
{
    printf("continue ... ");
    continue();
}
if(next == TRUE)
{
    go_next();
    go_on();
}
else
{
    go_prev();
    go_on();
}

虽然这种方式会增加程序的长度,但大括号更能突显各代码块的起止点,所以深受程序员的喜爱,并逐渐成为一种惯例。

第三种风格:第一种和第二种风格混合
while(!END) {
    printf("continue ... ");
    continue();
}
if(next == TRUE) {
    go_next();
    go_on();
}
else {
    go_prev();
    go_on();
}

第三种风格兼具第一种和第二种风格的优点,既可以像第一种风格一样缩短代码长度,同时也能明确标识代码块和函数的起止点。现在,几乎所有程序员都采用这种风格编码。

一部分程序员主张,标识函数的起始部分时采用第二种风格;而标识其他包括控制结构在内的一般代码的骑士时,采用第三种风格。

函数和其他类型的代码块采用不同风格
void main(void)
{   /* <-- 包含main函数在内的所有函数的大括号独立成行 */
    // ……略……
    while(!END) {  /* <-- 其他情况下使用的大括号的左半边括号与第一条语句位于同一行 */
        printf("continue ... ");
        continue();
    }
    // ……略……
}

这种新的风格有助于区分函数和其他代码块,所以有必要重视主张这种新风格的人的意见。

4.2 统一大括号的位置

一般只缩进函数体,标识函数体起止位置的大括号不缩进。

如果缩进大括号,随着函数体长度的增加,明确判断函数的结束位置会越来越难。

4.3 内部代码块需要缩进

标注代码块起点和终点的大括号应与函数主题语句的开始位置对齐,代码块内部语句应该比大括号的位置再缩进几个字符。如果不遵循这些原则,代码的可读性就会降低。

4.4 输出部分需要缩进

输出部分不缩进则容易混淆

if (num1 == num2)
printf("%d和%d相同。\n", num1, num2);

面对这种代码,与缩进输出部分语句相比,很多程序员更倾向于在判断部分语句之后插入某些貌似被省略的语句。有些程序员会直接在判断部分所在行后添加分号,将其修改为看似更完整的语句,进而产生致命的逻辑错误。

4.5 不要毫无意义地缩进

4.6 保持缩进程度的一致性

4.7 选择合适的缩进程度

4.8 不要编写凸出形式的代码

型如以下形式:

    if(num1 = num2) {
num1 = 10;
num2 = 100;
    }

相关文章

  • 第4章 缩进相关编码准则

    4.1 大括号的位置 第一种风格:大括号和语句位于同一行 这种风格在C语言出现早期很常见。当时,使用C语言的程序员...

  • 第5章 注释相关编码准则

    5.1 多种注释形态 5.1.1 不包含强调内容的单行注释 5.1.2 包含强调内容的单行注释 5.1.3 不包含...

  • 第3章 间隔相关编码准则

    3.1 一行只写一条语句 此处所谓的“行”(line)值得是在编辑器上显示的行,而不是C语言的一条“语句”。 3....

  • 第14章 用户接口处理相关编码准则

    14.1 确保保存输入值的变量足够大 考虑数组和数据类型大小能够保存输入值 14.2 转换说明符和参数个数应保持一...

  • 第8章 运算符相关编码准则

    8.1 恰当应用条件运算符有助于提高可读性 8.2 不要凭借运算符优先级排列算式 8.3 指针运算符应该紧接变量名...

  • Python编码规范

    Python编码规范 1 排版 1.1 Indentation缩进 在参数过多时适当缩进 换行应该使用同级的缩进...

  • Python编码规范

    Python编码规范 2018.6 1. 缩进 (垂直隐式缩进)对准左括号。 (悬挂缩进) 一般情况只需多一层...

  • Vim 命令(积累更新)

    显示相关: 缩进相关: 我的 vimrc to be continued ...

  • 编码规范,垂直居中的实现方式,提示框Demo

    平时写代码遵守的编码规范。 HTML编码规范用两个空格表示缩进。嵌套元素应当缩进一次(即两个空格)。对于属性的定义...

  • 代码规范

    代码规范 编码规范: 缩进:必须使用 4 个空格缩进。(而不是table) 单行:单行字符数限制不超过 120 个...

网友评论

      本文标题:第4章 缩进相关编码准则

      本文链接:https://www.haomeiwen.com/subject/rvvldctx.html