zoukankan      html  css  js  c++  java
  • 【阅读笔记】《C程序员 从校园到职场》第三章 程序的样式(大括号)

    参考: https://blog.csdn.net/zhouzhaoxiong1227/article/details/22820533

      一、.初始化数组变量

            在实际的软件开发项目中,变量在使用前应初始化,防止未经初始化的变量被引用。

            对于数组变量来说,恰当的初始化样例如下:

              char szString[100] = {0};

            定义了一个名为szString的包含100个字节的数组变量,并将该数组中每个变量的初始值赋为0。

    二、 定义和初始化结构体变量

            结构体变量的定义方法的样例如下:

              typedef struct

             {

                  ……

             }T_Struct;

            该结构体变量的初始化样例如下:

              T_Struct tStruct = {0};

            很多开发人员都不注重对结构体变量进行初始化,这是不对的。要牢记的是,任何变量在使用前,都应进行初始化

     三、用在if、else、else if、for、while、do等语句中

            在实际的软件开发项目中,if、else、else if、for、while、do等语句用得较多,对这些语句的书写要求如下:

            (1)自占一行,执行语句不得紧跟其后。不论执行语句有多少都要加“{ }”。

            这样做的目的是便于阅读,同时也有利于代码的维护。

            假设定义了两个整型变量iIntVal1和iIntVal2,如果iIntVal1的值小于iIntVa2,那么就将iIntVal2的值赋给iIntVal1,则正反示例为:

           反例:

            if (iIntVal1 < iIntVal2) iIntVal1 = iIntVal2;

           这样写出来的程序可读性很差,不利于对流程的跟踪及对版本的维护。

            正例:

            if (iIntVal1 < iIntVal2)

            {

                 iIntVal1 = iIntVal2;

            }

            该代码和反例中的代码相比,简洁清晰,让人一目了然。

            (2)程序的分界符“{”和“}”应独占一行并且位于同一列,同时与引用它们的语句左对齐。“{ }”之内的代码块使用缩进规则对齐(一般缩进4个空格)。如上面(1)所示。

      四、用在switch语句中

           switch语句也经常出现在产品代码中,要想写出逻辑清晰、可阅读性强的switch语句,需要遵循以下规则:

            (1)一定要加上default分支,即使case分支已经将全部情况都包括了

           这样做是为了防止其它代码阅读者误以为漏写了default分支,也可表现出开发人员的思维的全面性。

            (2)一个case分支和default分支要用“{ }”括起来,“{ }”中的内容需要缩进(一般缩进4个空格)。

            这样做可使程序逻辑清晰,可读性更好。

            假设定义了一个整型变量iSwitchFlag,可取值1、2、3,用switch语句对每种可取值的情况分别进行处理,则示例为:

            正例:

    switch (iSwitchFlag)
    {
        case 1:
        {
            DoSomething1();    //缩进4个空格
           break;
        }
        case 2:
        {                                        
            DoSomething2();  //缩进4个空格
            break;
        }
        case 3:
        {                                        
            DoSomething3();  //缩进4个空格
            break;
        }
        default:             //一定要有default分支
        {
            DoNothing();
            break;
         }
    }

               3) break语句要写到 “case”或者“default”的“{}”里面,这样可以体现出程序块的整体性,便于阅读。

    五、用在函数中

            众所周知,一个函数中的所有语句是包括在“{}”之中的。除此之外,“{}”在函数之中还有其它用武之地。

            (1)分隔功能关联不大的语句块

            在某些函数中,可能包含了很多功能,但这些功能之间的关联性很小,可以当作独立的代码来对待。这时,可以用“{}”将这些不同功能的代码块区分开来,增强代码的可读性,也便于对函数的维护和修改。

            假设有一个函数ExampleFun,包含了三个较为独立的功能A、B和C,则可以如下组织该函数的代码。

    void ExampleFun(void)

    {

        //功能A代码块开始

        {

              //功能A的实现代码

        }

       //功能A代码块结束

         //功能B代码块开始

        {

              //功能B的实现代码

        }

        //功能B代码块结束

        //功能C代码块开始

        {

           //功能C的实现代码

        }

           //功能C代码块结束

    }

             这样的代码具有自说明性,便于阅读和维护,提高了工作效率。

             (2)突出添加或修改的代码

             在代码行数较多的函数中,如果要添加或修改的代码量很少,即与原本已有的代码比起来,显得“很渺小”。这时,可以用“{}”将添加或修改的代码括起来,以突出代码的改动,方便阅读及对代码进行走查等。

            同样以函数ExampleFun为例来说明,如下所示:

    void ExampleFun(void)

    {

        ……

        ……

        ……

        //修改或添加代码块开始

        {

             //修改或添加的代码

        }

       //修改或添加代码块结束

       ……

       ……

        ……

     }   

  • 相关阅读:
    常用 Git 命令清单
    谈谈关于PHP的代码安全相关的一些致命知识
    九个Console命令,让 JS 调试更简单
    有趣的博客小工具
    利用fputcsv导出数据备份数据
    IT小天博客APP版本
    七牛云存储文件批量下载工具使用教程
    Mysql的常见几种错误:1045,1044
    我是一个线程
    两行代码快速创建一个iOS主流UI框架
  • 原文地址:https://www.cnblogs.com/hhxxgdd/p/8654569.html
Copyright © 2011-2022 走看看