找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2530|回复: 4
打印 上一主题 下一主题
收起左侧

我的C程序书写风格

[复制链接]
跳转到指定楼层
楼主
ID:75263 发表于 2015-3-25 00:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于写程序的小问题,想到那里说到那里

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"和"^"大小差不多,呵呵,可以很好的表达我想表达的意义.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:75077 发表于 2015-4-3 21:22 | 只看该作者
回复

使用道具 举报

板凳
ID:78314 发表于 2015-4-30 14:56 | 只看该作者
习惯决定人生 楼主五一快乐
回复

使用道具 举报

地板
ID:76944 发表于 2015-5-2 17:10 | 只看该作者
回复

使用道具 举报

5#
ID:79561 发表于 2015-5-18 20:42 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表