登陆注册
8183300000004

第4章 3 代码规范

大B:“呵呵呵!写得不错,不亏是C大的高材生。”

小A:“师兄你这不是在取笑我嘛!我还有好多问题得请教你哩!”

大B:“行行行……没问题。小师弟好学,师兄哪能袖手旁观呐!对了,你写代码的时候一定要注意代码的规范。”

小A:“代码规范?”

大B:“嗯,来来来,我说给你听。首先是要注意注释文档的格式,注释文档将用来生成HTML格式的代码报告,所以注释文档必须书写在类、域、构造函数、方法、定义之前。注释文档由两部分组成――描述、块标记。”

例如:

注释

@author 大。

@version 1.10

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

doPost(request,response);

}

大B:“看!前两行为描述,描述完毕后,由@符号起头为块标记。”

大B:“然后是注释的种类。有文件头注释、构造函数注释、域注释、方法注释和定义注释。”

小A:“什么?注释还有那么多的种类的?我以前都没有用心去记过它的喔。师兄能不能给我讲讲每一种注释的功能和要求啊?”

大B:“这有什么问题哩!举些例子来讲,那样你就容易理解多了。”

小A:“嘿嘿!那感情好。”

大B:“文件头注释已结束,需要注明该文件创建时间,文件名,命名空间信息。”

例如:

描述部分用来书写该类的作用或者相关信息,块标记部分必须注明作者和版本。

如:

class Window extends BaseWindow{

……

}

大B:“构造函数注释采用描述部分注明构造函数的作用,不一定有块标记部分。域注释可以出现在注释文档里面,也可以不出现在注释文档里面。用的域注释将会被认为是注释文档出现在最终生成的HTML报告里面,而使用的注释会被忽略。这个应该注意!”

例如:

boolean isTrigerSuccess=false;

又例如:

boolean isTrigerSuccess=false;

再例如:

int x=1263732;

大B:“还有就是方法注释,方法注释采用描述部分注明方法的功能,块标记部分注明方法的参数,返回值,异常等信息。定义注释,规则同域注释。”

小A:“喔……原注释还真的是有那么多种类,每个种类都有不同的功能哩!嘿嘿!看来以后我得更认真学习才行哩!”

大B:“呵呵……你能这么想就好喽!对了,小A,注释块标记你知道不?”

小A:“注释块标?嘿嘿!这个……也不知道……”

大B:“没关系,我告诉你。首先是标记的顺序。”

块标记将采用如下顺序:

……

*

*@param(classes,interfaces,methods and constructors only)

*@return(methods only)

*@exception(@throws is a synonym added in Javadoc 1.2)

*@author(classes and interfaces only,required)

*@version(classes and interfaces only,required。See footnote 1)

*@see

*@since

*@serial(or@serialField or@serialData)

*@deprecated(see How and When To Deprecate APIs)

*……

一个块标记可以根据需要重复出现多次,多次出现的标记按照如下顺序:

@author 按照时间先后顺序(chronological)

@param 按照参数定义顺序(declaration)

@throws 按照异常名字的字母顺序(alphabetically)

@see 按照如下顺序:

@see#field

@see#Constructor(Type,Type……)

@see#Constructor(Type id,Type id……)

@see#method(Type,Type……)

@see#method(Type id,Type,id……)

@see Class

@see Class#field

@see Class#Constructor(Type,Type……)

@see Class#Constructor(Type id,Type id)

@see Class#method(Type,Type……)

@see Class#method(Type id,Type id……)

@see package。Class

@see package。Class#field

@see package。Class#Constructor(Type,Type……)

@see package。Class#Constructor(Type id,Type id)

@see package。Class#method(Type,Type……)

@see package。Class#method(Type id,Type,id)

@see package

小A:“哇噻!块标记还可以按照时间先后顺序,按照参数定义顺序,按照异常名字的字母顺序哩!师兄,你讲得真详细。看来我得好好得花点心思把它们都记下来才好哩!”

大B:“能记住当然好哩!我再给你讲下标记介绍。”

@param标记

@param后面空格后跟着参数的变量名字(不是类型),空格后跟着对该参数的描述。

在描述中第一个名字为该变量的数据类型,表示数据类型的名字前面可以有一个冠词如:a,an,the。如果是int类型的参数则不需要注明数据类型。例如:

……

*@param ch the char 用用来……

*@paramimage the image 用来……

*@paramnum 一个数字……

……

大B:“对于参数的描述如果只是一短语,最好不要首字母大写,结尾也不要句号。对于参数的描述是一个句子,最好不要首字母大写,如果出现了句号这说明你的描述不止一句话。如果非要首字母大写的话,必须用句号来结束句子。(英文的句号)”

公司内部添加ByRef和ByVal两个标记,例如:

*@paramimage the image ByRef 用来……

说明该参数是引用传递(指针),ByVal可以省略,表示是值传递。

大B:“代码规范大概要点就是这些了。听起来好像很多,只要用心,其实也很容易记的。”

小A:“嘿嘿!师兄,你太厉害了!”

同类推荐
  • 一本书读懂24种互联网思维

    一本书读懂24种互联网思维

    本书整合的改变世界的24种互联网思维,让我们对互联网新思维的认识变得立体、系统起来;同时深入浅出、通俗易懂地从技术和实践分析互联网新思维与传统思维相比较的优势,医治互联网焦虑症。未来属于既能深刻理解传统商业的本质,同时又具备互联网思维的人。
  • 爱上我的“手机女友”

    爱上我的“手机女友”

    本书共有五个部分:第一章:千娇百媚的我—手机门类大搜索第二章:了解我的心—手机“芯”理学第三章:不一样的我不一样的美—手机的万种风情第四章:命中注定我爱你—神秘手机星座解读第五章:有求必应贴心女友—手机的绝世武功通过这本书,想要购入手机的你会知道哪款手机女友更适合你,已有心仪手机的你可以让手机女友懂得更多变得更聪明。希望这本书能够帮助你在手机选购上和手机使用上更舒心、安心、贴心。
  • Delphi程序设计教程

    Delphi程序设计教程

    本书为适应不同层次读者的需要,从Delphi的基本知识讲起,由浅入深,全面讲述了Delphi的集成开发环境、Delphi的编程语言——ObjectPascal、常用组件的使用、窗体的设计、菜单的设计、对话框的设计、多文档界面程序的设计、多媒体编程和数据库应用程序设计等内容。
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint2000中文演示文稿等内容。
热门推荐
  • 十里桃花繁华相迎

    十里桃花繁华相迎

    因为小时候的一句玩笑话,让这个高冷男神一直去苦苦纠缠她,说好的高冷呢!在追妻的这条路上,那可谓是佛挡杀佛,神挡杀神!直到有一天冷芊芊忍无可忍挺直腰板站到陆致远面前“说吧,怎么能放过我。”“跟我姓陆,叫陆太太”“可我是个残疾人,也许我们真的不合适。”“那我就送你到最高的位置,让你的光芒遮挡住你自身的缺陷。”后来她成功了!他也成功了!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 娱乐守门人

    娱乐守门人

    李知,一个重生人士,在熟悉的世界做了五十年的道士。终于,他下山了。
  • 听BBC学英语:英语10倍速增长学习法

    听BBC学英语:英语10倍速增长学习法

    本书内容丰富,讲解详细,书中每一篇热点新闻都配有BBC 原声音频,发音清晰流畅且现场感强,方便学习者利用闲暇时间随时随地学习,从而迅速提高听力水平。读者们在练习听力的同时还可以模仿原汁原味的语音语调,训练自己的发音,提高口语表达能力。学习地道英语,看这本就够了。
  • 综漫之雨宫怜子

    综漫之雨宫怜子

    我不出声也不书写我不低唤你的名字这段感情里有罪孽这名字里有痛楚变成风也不敢和你相遇。——雨宫怜子------------------本文主兄战,涉及兄战、地狱少女、网王。
  • [星际]另类婚约

    [星际]另类婚约

    地球星人桑知知参加新开发的星际旅游项目,结果因为意外娶了个外星忠犬男回家过年。爸爸:有了个可以将车子从排水沟里抬出来的女婿又是欢喜又是愁,女儿要受苦了!妈妈:有个能抗着四袋大米气不长出上六楼的女婿,女儿要幸福了!哥哥:谁敢和我抢妹妹?啪,一把刀叮在他耳边,吓得某哥动也不敢动。妹妹:亚门,我的衣服洗了没,明天要穿。亚门:家主,已经洗好叠好,我马上给你找出来。
  • 豪门心宠:迷糊娇妻抢手货

    豪门心宠:迷糊娇妻抢手货

    她,从小便没有父亲,由母亲一手养大,但是一朝的横祸,让她的生活轨迹彻底发生了改变·······“天儿,我会护你一世安好。“某男温润一笑。“女孩,你是本少爷的,而且你永远都别想脱出本少爷的手掌心。”某男霸气宣誓。“小月天,你跟我吧,我会宠你,爱你,听你的,决不会让你受一点伤害的,”某男唇角微勾,邪邪一笑。
  • 被迫成为了法师

    被迫成为了法师

    本书主线剧情,因男主苏羡父亲欠下巨额债务无力偿还,其不得不一边上学一边工作养活自己。后来在机缘巧合下,利用自己易于常人的那双眼睛帮人赚钱,偿还自己父亲所欠下的巨额债务。本书支线剧情,是男主苏羡一路成长所遇到的几段刻骨铭心的情感。注重:男主苏羡所遇到这几段情感,解释作者本人现实中所遇,且加以略微改编。本书幽默风趣,且不缺惊悚诡异,男主苏羡所遇到的那几段情感也十分感人。
  • 借诗还魂

    借诗还魂

    大自然,包括怀抱着我的天地世界及我怀抱着的心灵世界——两个无极世界极像一对相知相爱相敬的情侣,它显现与涵蕴着无穷无尽无边无际的美,明暗不一,冷暖不同,欢痛有别,五彩斑斓,多层次多角度,多面多维,深到了心底,远到了心边,高到了心面。然而心边在什么地方呢?