C语言的编程格式

    前段时间,导师指导我们做c语言的通讯录。在导师看过后,发现我们所写的程序中最大问题就是没有标准我们的代码格

式。所以在查找了一些资料后,在这里总结一下书写c语言代码的要求。

    有以下几点十分重要。

    1.缩进 2.空行的使用 3.折行的使用 4.注释的位置5.如何进行命名 6.程序标号(大括号) 7.文件的整体结构 8.其它


1.缩进

    首先要说的是缩进,缩进可以使得我们的文章更加的有层次感。通常情况下,我们不再使用tab键来缩进。因为不同的电脑可能会tab键所占的宽度不相同,如果使用的话可能无法达到预期的效果。因此,我们一般都使用4个空格键来进行缩进,以防意外的发生。

    例子(缩进):   

void do_it()
{
    switch (state)
    {
    case STAT_A:
    ...
    break;

    case STATE_B:
    ...
    break;

    default:
    break;
    }
}


2.空行

    空行也很重要,恰当的使用空行可以让我们的程序更加有条理性。我们一般在不同的逻辑段落添加空行。1.我们在每个函数之间要加上空行 2.判断语句前后加空行 3.在进行对变量和函数的说明时加空行对两者区分 

    例子(空格):

u32_t read_flag;
u32_t read_count;

u32_t write_flag;
u32_t write_buff;
u32_t write_count;

s32_t read_data(u8_t *buf, u32_t size)
{
    u8_t flag;

    if (NULL==buf)
    return ‐1;
    if ((‐1 == size) || (size>=MAX_READ_SIZE))
    return ‐1;

    flag=read_port_status();
    ...
}


s32_t read_data(u8_t *buf, u32_t size)
{
    ...
}


3.折行

     还有关于折行的使用。在每一行中我们最好不要超过80列,并且使用逻辑结构时,各个条件之间要要使用折行,并且内容尽量的对齐。

    例子(折行):

else if (((1==status)||(2==status)||(8==status))
            && ((20==count)||(0==count))
            && (0==flag))


4.注释 

    在编写程序时,我们要加入适当的注释,这样才能使代码更容易让人理解。

    在以下几种情况我们需要进行注释。

    1.文件开头需要注释段落

    2.函数开头需要注释段落

    3.全局变量需要详细注释

    4.特殊功能的局部变量需要详细注释

    5.变量bit域详细注释

    6.为特殊功能的宏定义加注释

    在进行注释时我们也要做到以下几点注意

     1.尽量使用 // 作为程序内部注释

    2. //* ‐‐ *// 用于文件、函数头部注释段落

    3.在不同条件下可能被使用的代码不能注释,用#if 0 ‐‐ #endif

     例子:(在文件头的注释)

/***************************************************
Copyright (C), 20xx‐20xx, xxx Group
File name: xxx
Description: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Function List:
func1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
func2: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

History:
Author: xxx Version: xxx Date: xxx Email: xxx
Description: Create

Author: xxx Version: xxx Date: xxx Email: xxx
Description: Fix xxx bugs
***************************************************/ 


    例子:(在函数头的注释)

/*************************************************
Name: xxxx(函数名称)
Description: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(函数功能、性能等的描述)
Calls: xxxxxxxxxx
            xxxxxxxxxx(被本函数调用的主要函数清单)
Called by: xxxxxxxx
                    xxxxxxxx(调用本函数的函数清单)
Data Accessed: xxxx(访问的公共数据、表格、数据库)
Data Updated:   xxxx(被修改的公共数据、表格、数据库)
Inputs: xxxx
              xxxx (输入参数说明,参数作用、取值和参数间关系)
Outputs: xxxx (对输出参数的说明)
Return:   xxxx (函数返回值的说明)
Others:   xxxx (其它使用说明和注意事项)
*************************************************/


5.命名

   在命名时,我们尽量要让函数、变量和数据类型的名字更接近于我们自己的语言,尽量做到可以让别人一眼看出其作用。

    平常的一些小习惯:

   1.在使用指针变量、全局变量和结构体时,注意在指针变量前加“p_“,在全局变量前加“g_“,结构体变量加后缀“_t“。这样可以有效的进行区分。

    2.如果在一个变量中有多个单词,建议每个单词之间加下划线。

    3.最好不要在变量名中掺杂大写字母。因为常量通常用大写字母表示。

    4.如果想要对使用的变量名进行简化,建议使用以下的规则:  (1).较短的单词可通过去掉“元音”形成缩写

                                                                                               (2).较长的单词可取单词的头几个字母形成缩写

                                                                                               (3).尽量使用公认的缩写。

                                                                                                示例:
                                                                                                 temp-- tmp

                                                                                                 lag--flg

                                                                                                message--msg


   尽管有着这么多的规定,但是有时我们仍然会感觉变量名字不够用。所以建议在使用函数时,对函数中形参定义时在每个变量前加“函数名_变量名“进行区分。

    更加要谨慎对全局变量的使用,在进行命名时要时时注意重名的情况。


6.大括号的使用

    我们常用大括号的格式如示例

    例子(大括号):

while
{
 //**************
}  
    我们要注意让每对大括号都保持在一个列上。


7.文件的整体结构

    当我们真正编写项目时要有以下几点:

    1.版权声明

    2.文件用途说明

    3.编写和修改记录

    4.#include 头文件

    5.局部函数申明(只将会被外部引用的全局函数名称放在头文件里,其余的在c文件头部申明)

    6.全局变量申明(不能放在头文件里,头文件里面用extern申明供外部访问的全局变量)

    7.单个c程序长度少于300行,单个函数不要超过100行


8.其它规定

    其实以上这些要求并不代表程序不这样写就不能运行。只是遵守这些规定能让我们更好的与他人进行交流。

    所以,我们也要更加的重视自己书写语句的正确性,这点的重要性也很强。


发布了58 篇原创文章 · 获赞 86 · 访问量 13万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览