标题: 我的C程序书写风格 [打印本页]

作者: niuniu    时间: 2015-3-25 00:14
标题: 我的C程序书写风格
关于写程序的小问题,想到那里说到那里

1.每个函数的前面有一段综合性的注释,这个综合性注释的首尾行是由//开头的88个字符"-"组成, 有人不用"-"而是用"*",我觉得用"*"不太合适. 因为C里面/*  */是"成段地"定义注释的, 在调试阶段可能需要临时把某一部分代码用/* */包围起来当作注释不参与编译, 而此时,上述的每个函数的综合性注释中如果用"//********....."的格式,就可能引起编译系统发出注释嵌套警告.进一步地,在代码内部的注释中应尽量避免出现"/*"的组合.我的做发是,仅仅在代码调试阶段用/* */临时屏蔽部分代码,真正的注释全部用单行注释,也就是只用//引进注释.
2.函数内部每个语句后面的局部性注释,我喜欢做右端对齐,很多人会觉得这是很费力的怪异的做法,但我习惯了而且关键是喜欢这样做,确实,注释右端对齐,需要多打很多的空格,但是这样做以后代码看起来会舒服很多,便于调试.
2.在代码或注释中凡是需要空格的地方永远只使用空格键,决不使用Tab键产生空格,这是因为代码很可能需要放到某种文本编辑器中做排版操作,然后打印出来,不同的编辑器中Tab键的处理有差异,如果使用Tab键产生若干个空格,有可能文本的格式出错.
3.注释也要体现结构化的思想.每一个由"{" 和 "}" 包围的代码块, 都会完成某个相对独立的功能.我的代码中,"{" 和 "}"都肯定占用单独的行,在它们所在的行中,就可以写字数较多的注释,因为在这一行里,属于代码的部分只有一个符号,空余的书写位置就多了."{"和"}"后面的注释几乎是完全一样的,这样从前往后或者反过来浏览代码的时候,代码的模块化结构通过注释就进一步强化了,看起来更舒服.当注释的文字确实不需要那么多的时候,我会用"-"或者"="在左端补齐,而且只要可能,一定用字符"v"和"^"分别做为注释中的第一个字符的,它们说明了注释所指的代码是位于注释之前还是之后.
4.注释的文本长度不要太长,当然也不可太短,一般来说80~90个字符比较合理.我倾向于90个字符,在代码编辑环境中,当光标位于行尾时,光标位置显示91,呵呵
5.关于缩进.这是非常重要的一个问题,一旦代码超过100行,马上就能感觉到缩进的重要性了.我一般在需要缩进的地方每次缩进4个空格.注意一定要配对.,有进有出.
6.还有很多小P事,其实都很重要的,有时间慢慢聊.

以下是例子.
//------------------------------------------------------------------------------
// 函数: char My_FunctionA(int ParaX, char ParaY, ....)
// 功能: 本函数.......
//       ....... .....
// 参数: ParaX = .....
//       ParaY = .....
// 返回: .....
// 作者: .....
// 创建: 2009年01月01日
// 修改: 2009年01月02日(发现...问题,添加...,修改...,....)
//       2009年01月05日(发现...问题,添加...,修改...,....)
//------------------------------------------------------------------------------
char My_FunctionA(int ParaX, char ParaY, ...)
{
    unsigned int i;
    ....
    if( (.....) && (...) )
    {//v------------------------------------------当...且....时,做.... ....操作
        .....                                                     //...........
        for(i=0; i<ParaX; i++)
        {//v-----------------------------------------循环....次,做.... ....操作
             ....                                                 //...........
             ....                                                 //...........
        }//^-----------------------------------------循环....次,做.... ....操作
        .....
    }//^------------------------------------------当...且....时,做.... ....操作
}
在大多数开发环境内嵌的编辑器中符号"v"和"^"大小差不多,呵呵,可以很好的表达我想表达的意义.

作者: 野强强    时间: 2015-4-3 21:22

作者: Jameszuo    时间: 2015-4-30 14:56
习惯决定人生 楼主五一快乐
作者: 雁之铭    时间: 2015-5-2 17:10

作者: 疯狂的程序猿    时间: 2015-5-18 20:42





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1