登陆注册
2708800000004

第4章 代码规范

大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:“嘿嘿!师兄,你太厉害了!”

同类推荐
  • 互联网+时代听比尔·盖茨谈软件力

    互联网+时代听比尔·盖茨谈软件力

    微软以软件起家,身处互联网时代的你,也可以听听比尔盖茨是怎么谈软件的。
  • 通信十年:拥抱互联网

    通信十年:拥抱互联网

    本书从人才、资源、创新三个维度,通过多年的连续新闻报道,试图阐释此前中国电信运营商在供给侧改革中所做的尝试、带来的改变以及难以解决的掣肘,同时收录部分对国外电信运营商的观察报道,以他山之石,寻找殊途同归的方向。在以本书对此前十年通信业梳理之后,愿通信产业能迎来下一个“黄金十年”,而我能继续执笔记录。
  • 无人机:知道这些就够了

    无人机:知道这些就够了

    不久的将来无人机将像智能手机一样司空见惯,而你对无人机的了解有多少?你知道无人机有哪些用途吗?无人机对你和你的家庭又会产生什么样的影响呢?知道这些就够了。
  • 一本书读懂大数据

    一本书读懂大数据

    本书是深入研究互联网思维的经典之作,从互联网思维的定义到互联网思维应用的具体案例表现。作者深入浅出、条分缕析,全面阐述互联网思维的内核与精神,逐一点评当前关于互联网思维的各种观点。本书从最初级的互联网思维应用到高端的粉丝经济,平台建设,自媒体营销的方法都有详细讲解介绍。让读者了解什么是互联网思维的同时还能学会把互联网思维运用到自己的工作学习已经生活中。
热门推荐
  • 请不动的世子妃

    请不动的世子妃

    美丽坚强的女主vs冷峻温柔的男主庙堂之高,江湖之远,究竟是谁在背后搅弄风云?她是相府千金,从未想过有一日会成了他的小跟班。庭上安天下,江湖策马游。“我会一直等你,至冬至花落,白骨入土。”
  • 赛博特勤

    赛博特勤

    经历了黑洞爆炸的他,穿越到了平行的世界里,脱离肉体的局限,不断遏制罪恶,誓死捍卫正义.
  • 献给永恒的永恒神话

    献给永恒的永恒神话

    一部来自永恒世界的神话。只有相信神话的你才能领悟宇宙的神奇……
  • 纽约往事:绅士篇

    纽约往事:绅士篇

    《假曙光》描写的是十九世纪四十年代的纽约,富家子刘易斯·雷西去欧洲旅行时,父亲委托他购买意大利名画创建“雷西画廊”,结果在欧洲受到年轻美术评论家罗斯金等人指点的刘易斯,与以老雷西为首的守旧老纽约人在艺术品味上产生了极大的分歧,并由此引发了一系列极具讽刺意味的事件。《火花》通过一个年轻人的视角,展示了一个心地单纯、性情豪爽的银行家德莱恩跟社会习俗格格不入的一些表现,使故事悬念丛生,直到最后才揭示了这种表现的根源。伊迪丝?华顿对十九世纪美国著名诗人惠特曼的敬重在这篇小说中充分反映出来。
  • 梦回迦勒底

    梦回迦勒底

    看到那几个身穿迦勒底制服的队友,阿伟觉得问题很大。夜神月、凉宫春日、沙条爱歌……让这些日本高中生来保卫人理,所长你是认真的吗?书友群:424645107
  • 我想靠近你一点点

    我想靠近你一点点

    “我想离你近一点点,再近一点点,哪怕你可能不知道我来了,可是只要我自己知道我离你近了一点点,我就很满意了
  • 都市超品魔帝

    都市超品魔帝

    神界最强魔帝被叶修反夺舍,融合魔帝记忆化身小魔帝。
  • 帝浮沉

    帝浮沉

    道生一,一生二,二生三,三生万物。大道可摘星辰日月,平定苍穹,登天路,踏九歌。
  • 存档重生

    存档重生

    这是一个女孩重生的故事,没有金手指,没有轰轰烈烈的爱情,没有豪门倾轧的戏码。普通的人即使重活一次,依旧还是普通人,努力想要改变前世的命运,追寻最开始的梦,弥补那些遗憾。再一次找到那个魂牵梦萦的人,这一次重头再来,找到你,抓住你,再也不要放开手。故事不会太长,没有惊心动魄,也没有功成名就,有的只是最平凡,普通的家长里短,纸短情长……PS:这是喵姐的第一本书,写的不好,请看书的大家多多包涵。书里出现的人大部分都是喵姐身边的人,故事和设定都是喵姐真实经历改编的,也许会有很多BUG,但大概是人生本来就充满了BUG吧……
  • 因为懂得 所以慈悲

    因为懂得 所以慈悲

    中国文学史上的传奇,民国世界的临水照花人,她终其一生,横空出世地来,旁若无人地活,听天由命地走。她说“生命是一袭华美的袍,爬满了蚤子”。这一生,她说过许多的话,有些被时光淡忘,模糊不清,唯独这句,清醒明透,不离不舍。离世的那一天,她穿着一件赭红色旗袍,这是她留给世人,唯一的念想。她,就是民国奇女子张爱玲。