注释与文档,以及代码规范

一般情况下,源程序的有效注释量必须在20%以上。 
说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加上,注释不宜太多。也不能太少。注释语言必须准确、易懂、简洁

下面几个示例:

说明性文件(如头文件.h文件、inc文件、.def文件、编译说明文件.cfg等)头部应该进行注释,注释必须列出:版本说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释还应有函数功能简要说明 

源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 
示例(本人源文件头注释,不局限与此格式)

函数头部进行注释,例出:函数的目的/功能、输入参数、输出参数、返回值、调用关系(函数、表)等。 
示例:(本人的函数头注释,不局限与此格式) 

  • 我们应该养成边写代码边注释的习惯,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除

  • 注释内容要清楚、明了、含义准确、防止注释二义性。 
    说明:错误的注释不但无益反而有害
  • 避免在代码中使用缩写,特别是非常用的缩写 
    说明:在使用缩写时或之前,应对缩写进行必要的说明。
  • 注释应与其描述的代码相近,对代码的注释应放在上方(对代码块的注释)或右方(对单条语句的注释),相邻位置,不可放在下面,如放在上方则需要与其上面的代码用空行隔开 
    例如:
  • 示例:
  • /* active statistic task number */
    #define MAX_ACT_TASK_NUMBER  1000
  • 对于所有有物理含义的变量、常量,如果其命名不是充分自注释的,在声明时必须加以注释,说明其物理含义。变量、常量、宏的注释应该放在其上方或右方 
  • 示例:
  • 数据结构声明(包括数组、结构、类、枚举等),如果其命名不是充分自注释的,必须加以注释。对数据结构的注释应该放在其上方相邻位置,不可放在下面,对结构的每个域的注释要放在此域的右方 
    示例:
//块注释
/* get replicate sub system index and net indicator */
repss_ind = ssn_data[index].repssn_index;
repss_ni = ssn_data[index].ni;

//单句注释
int num = MAXSIZE;    //set num = MAX
  • 全局变量要有详细的注释,抱括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等等 
  • 示例:
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */
/* 0 -- SUCCESS  1 -- GT Table error */
/* 2 -- GT error others - no user */
/* only function SCCPTranslate() in */
/* this modual can modlify it, and other */
/* modual can visit it through call */
/* the function GetGTTransErrorCode() */
BYTE g_GTranErrorCode;
  • 注释与所描述的内容进行同样的缩排,并且将注释与其上面的代码用空行分隔 
    说明:可使程序排版整齐,并方便注释的阅读与理解 
    示例:
void example_fun(void)
{
    /* Code one comments */
    CodeBlock One;

    /* Code two comments */
    CodeBlock Two;
}
  • 对变量的定义和分支语句(条件分支、循环语句等)必须编写注释 
  • 说明:这些语句往往是程序实现某一特定功能的关键,对于维护人员来说,良好的注释帮助更好的理解程序,有时甚至优于看设计文档
  • 对于switch语句下的case语句,如果因为特殊情况需要处理完一个case后进入下一个case处理,必须在该case语句处理完后,下一个语句前加上明确的注释。 
    说明:这样比较清楚程序编写者的意图,有效防止无故遗漏break语句 
    示例
switch(elect)
{
    num CMB_UP:
    {
        pressup();
        break;
    }
    case CMB_DOWN:
    {
        num = pressdown();
        if (num > 1)
        {
            break;
        }
        else
        {
            /* not break */
            /* now must jump to CMB_MIND */
        }
    }
    case CMB_MIND:
    {
        ...
        break;
    }
}
  • 除非必要,请不要在一行代码的中间插入注释,否则会让程序的可读性降低
  • 通过对函数或过程、变量、结构等正确的命名以合理的组织代码的结构,使代码成为自注释的
  • 在代码的功能、意图层次上进行注释,提供有用的,额外的信息 
    说明:注释的目的是解释代码的目的,功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没有必要的重复注释信息。 
    示例:
//该注释提供了有用的信息
/* if mtp receive a message from links */
if (receive_flag)
  • 在代码块的结束行右方加注释标记,以表明某程序块结束 
  • 说明:当代码段较长,特别是多重嵌套时,这样做可以使代码更清晰,更便于阅读 
    示例:
if (...)
{
    //progream code

    while (index < MAX_INDEX)
    {
        //progream code;
    }/*while end */
}/*end of if*/ //指明是哪条if结束
  • 注释格式尽量统一,建议使用 /* …… */
  • 注释应考虑程序易读及外观排版的因素,使用的语言若是中、英兼有的,建议多使用中文,除非能够用非常流利准确的英文表达 
    说明:注释语言不统一,影响程序易读性和外观排版,出于对维护人员的考虑,建议使用中文

代码规范

 

代码规范这一点就不用多说了,写程序一定要有规范,否则你会被别人说你的程序像狗屎一样难看。而且读起来简直头疼到爆炸。这里我就小小的展示一下我的代码规范,一般大家都有自己的习惯,也应该养成这样的好习惯。这样不仅会为你的面试工作加分,而且可以提高你的开发效率。

转载于:https://my.oschina.net/zyyhhh/blog/1579470

choutiaosheng1127
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python程序的注释-注释的使用以及代码规范文档
05-06
Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被人们用于独立的、大型项目的开发和设计 Python解释器易于扩展,...
文档同构:文档代码的双向绑定
Phodal's zenthink
09-13 1530
先说一下对于结论的定义:文档同构是一种将代码文档保持一致的技术理念,它能读取格式化的文档,并将文档自动加入到代码中,如以注释的形式或者是只在 IDE 呈现;同时,还能将读取代码中的文档,...
单行注释、多行注释文档注释最完美的解释、导出API
qq_30908729的博客
08-12 1万+
注释是程序开发人员和程序阅读者之间交流的手段,对代码的解释和说明,提高软件的可读性,有利于程序应用的维护。 1、单行注释  只对一行代码注释,例如 //单行注释,以‘//’开头,跟在‘//’后面的文本就是注释内容。单行注释不会被编译,不要把代码写在‘//’的后面。  快捷键:ctrl+/ 2、多行注释  当多行内容要被注释时,选择多行注释。例如 /*多行注
Java的三种注释,和文档注释的生成文档说明
Mikchy的博客
06-06 3231
一、单行注释 二、多行注释 三、文档注释 编写注释的原因 编写程序时总需要为程序添加一些注释,用以说明某段代码的作用,或者说明某个类的用途、某个方法的功能,以及该方法的参数和返回值的数据类型及意义等。 编写注释的原因及意义如下: 为了更好的阅读自己编写的代码,建议添加这注释。自己写的代码,可能过一段时间回顾的时候,就变得不熟悉。这个时候,注释就起到了很好的帮助作用。 可读性第一,效率...
注释(单行注释、多行注释文档注释
热门推荐
weixin_43786904的博客
12-07 1万+
注释就是我们在写程序的时候会经常的加入注释,第一方便我们的阅读,第二用来提高程序的可读性。java语言允许程序员在程序中写上一些说明性的文字,这些说明性的文字就是注释注释的内容不会出现在字节码中,即java编译器编译时会跳过注释语句,在java中根据注释的功能不同,主要分为单行注释、多行注释文档注释。 1,单行注释 单行注释是以“//”开头的后面的内容就是注释。 2,多行注释 多行注释是以“/...
2.文档注释和API
My vegetable has exploded.
01-21 691
Java的文档注释和API的生成
Eclipse代码文档规范设置
04-26
设置Eclipse代码规范文件和使用文档,设置后可以自动规范代码格式,并且自动加入设置注释
java代码注释规范文档
09-18
后端开发技术的代码注释规范 单行注释 多行注释注释 文档注释 标签注释等等
c#文档注释规范
10-07
C# 提供一种机制,使程序员可以使用含有 XML 文本的特殊注释语法为他们的代码编写文档。在源代码文件中,具有某种格式的注释可用于指导某个工具根据这些注释和它们后面的源代码元素生成 XML。使用这类语法的注释称为...
软件开发代码规范.7z_代码规范_实用教程_软件开发文档
07-14
软件开发代码规范。非常实用的一份规范,很全面、详细描述代码编写规范,从函数、标识符命名到变量命名、注释、板式排版,以及测试移植性都作出了一个规范式的指引。
代码注释规范
子期
10-05 6920
1.文件注释 文件注释写在文档头部,以/*开头,例: / * * 文件名:[文件名] * 作者:〈版权〉 * 描述:〈描述〉 * 修改人:〈修改人〉 * 修改时间:YYYY-MM-DD * 修改内容:〈修改内容〉 */ 2.类和接口的注释 说明该类或者接口的功能、作用、使用方法和注意事项,每次修改后增加作者和更新版本号和日期 / * * 〈一句话功能简述〉 * 〈功能详细描述〉 * @...
注释文档注释_条件注释块下载
cunbei2644的博客
09-26 152
I came across this blog post (via @pornelski and @souders) where Markus has stumbled upon a case where an IE6-only stylesheet included with a conditional comment blocks the downloads in IE8. Whaaat? ...
Dart 代码注释文档编写规范
Flutter 跨平台技术研究
04-25 875
好的文档代码编写成功的关键要素 —— 虽然在快速开发的当今,我们不爱写文档。但是实际上代码文档能够帮我们理顺思路,定义好输入输出参数,同时也能够帮助我们日后回顾代码,为团队其他人或是代码接手人提供第一手参考资料。
如何写出无法维护的代码
weixin_33811539的博客
06-12 761
这篇文章的原文在这里(mindprod.com/jgloss/unma… 看完我想说—— 什么叫“创造力”,创造力就是——就算是要干一件烂事都能干得那么漂亮那么有创意的能力。 什么叫“抓狂”,抓狂就是——以一种沉着老练的不屈不挠的一本正经的精神一点一点把你推向崩溃的边缘。 另外,维护程序的朋友们,你们死定了!! 如果建筑师盖房子就像程序员写程序一样,那么,第一只到来的啄木鸟就能毁掉我们的...
注释文档编写方法
键者天行
07-21 6877
对于Java语言,最体贴的一项设计就是它并没有打算让人们为了写程序而写程序——人们也需要考虑程序的文档化问题。对于程序的文档化,最大的问题莫过于对文档的维护。若文档代码分离,那么每次改变代码后都要改变文档,这无疑会变成相当麻烦的一件事情。解决的方法看起来似乎很简单:将代码文档“链接”起来。为达到这个目的,最简单的方法是将所有内容都置于同一个文件。然而,为使一切都整齐划一,还必须使用一种特殊的注
文档代码注释
ageazrael的专栏
02-01 297
今天和QQ群中群友聊天,谈到文档注释相关的一些问题,得一下总结! 文档 :          写程序结构说明文档,但不对类中函数和变量作用说明,只简单描述下类主要功能和继承关系。其他多出的细节不能给文档带来多大的作用,反而让看的人不容易找到重点!让文档成为代码的导读,而不是对代码的解释。         讲原理性的文档,如果用代码描述比文档描述要简介和清楚,使用代码而不使用“文字”
XML基础
举目沧桑的博客
04-22 805
在实际开发中,由于不同语言项目之间数据传递的格式有可能不兼容,导致这些项目在数据传输时变得很困难。为解决此问题,W3C组织推出了一种新的数据交换标准—XML XML是一种通用的数据交换格式,可以使数据在各种应用程序之间轻松地实现数据的交换 XML文件保存这种具有树状结构的数据 XML是Extensible Markup Language的缩写,他是一种类似于HTML的标记语言,称为可扩展性标记语言 可扩展:指用户可以按照XML规则自定义标记 第一行代码是XML的文档声明,下面的< 中国>&l..
手把手教你写_“华为”_的标准注释文档,以及代码规范
Zxn、Sirius荣耀之路
04-13 4771
注释为什么要写注释呢?为什么要写文档呢? 也许有人会这样问。但是我只想说如果你还在这样问,那么你不仅不是一个优秀的程序员,应该说你是不是程序员都应该受到质疑。先说一下注释的重要性: 在公司的开发中,我们要明白程序不是写给自己看的,也不是所有的代码都是自己写的,我们不仅需要看别人的代码而且还要把自己的代码交给别人看,团队看。也许还会在你离职以后交给你的接班人看。而且,就算是你写的程序
注释文档的重要性
remainer的博客
01-13 392
今天做项目,需求是记录查询,条件是:用户名+域+日期,需求就这么多。问题是我刚进项目组啊大哥,看数据库,字段没有描述,看项目实体,没有注释,看名字吧,没有看起来像用户名,域的字段,好容易有日期吧,好吧,三个…要文档,不给,问吧,就四个字有用,关联查询…做这样的项目,憋屈啊。记以此文记录以后自己做项目一定要注意。
cpp 代码注释文档自动生成
最新发布
11-25
可以通过使用特定的代码注释规范,如Doxygen或者JavaDoc,来生成注释文档。 Doxygen是一种流行的自动化文档生成工具,它可以根据代码中的特定注释格式来生成文档。在C++代码中,我们可以使用特定的注释语法来描述...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • " ` "和" ' "的区别 6495
  • 批量删除文件名中部分字符串 3295
  • 拍照裁剪报错 无法加载此图片 2244
  • for循环里,先执行完block代码再执行下一次循环 1981
  • Android studio的preview界面无法显示 1962

最新评论

  • Fragment被销毁后怎么不为null?

    qq_35672878: 请问您现在有解决办法了吗? 我也是遇到了同样的问题

  • 拍照裁剪报错 无法加载此图片

    阳春白雪23: 如何解决的啊,楼主

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • nginx 反向代理 与 Apache backend的配置联合配置
  • 解决httpd: Could not reliably determine the server's fully qualified domain name
  • 编译安装php5.4.45
2018年9篇
2017年15篇
2016年22篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司汕头至尊标王推荐宿州如何制作网站多少钱长沙英文网站建设推荐株洲关键词按天扣费公司拉萨百搜标王价格无锡网站制作设计公司黄石网站搜索优化多少钱大浪设计公司网站报价芜湖模板网站建设推荐潍坊外贸网站设计报价湖州网页设计价格荷坳网站搭建哪家好定西关键词按天扣费哪家好洛阳seo网站优化通化网站优化亳州seo推荐怀化外贸网站制作价格辽阳企业网站改版价格合肥seo排名哪家好石家庄模板制作公司百色百度竞价包年推广报价塘坑seo网站优化营口网站推广方案多少钱保定网站优化软件报价鞍山网站排名优化公司德州网页设计哪家好思茅网站优化软件报价安康如何制作网站公司海东网站优化按天收费荆门优秀网站设计报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化