java程序书写规范_0.docx

上传人:王** 文档编号:1394258 上传时间:2024-07-05 格式:DOCX 页数:8 大小:19.45KB
下载 相关 举报
java程序书写规范_0.docx_第1页
第1页 / 共8页
java程序书写规范_0.docx_第2页
第2页 / 共8页
java程序书写规范_0.docx_第3页
第3页 / 共8页
java程序书写规范_0.docx_第4页
第4页 / 共8页
java程序书写规范_0.docx_第5页
第5页 / 共8页
java程序书写规范_0.docx_第6页
第6页 / 共8页
java程序书写规范_0.docx_第7页
第7页 / 共8页
java程序书写规范_0.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
资源描述

《java程序书写规范_0.docx》由会员分享,可在线阅读,更多相关《java程序书写规范_0.docx(8页珍藏版)》请在优知文库上搜索。

1、java程序书写规范java程序书写规范命名规范1、一般概念1、尽量运用完整的英文描述符2、采纳适用于相关领域的术语3、采纳大小写源合使名字可读4、尽量少用缩写,但假如用了,必需符合整个工程中的统肯定义5、避开运用长的名字(小于15个字母为正常选择)6、避开运用类似的名字,或者仅仅是大小写不同的名字7、避开运用下划线(除静态常量等)2、标识符类型说明1、包(Package)的命名Package的名字应当采纳完整的英文描述符,都是由一个小写单词组成。并且包名的前缀总是一个顶级域名,通常是com、edu、gov、mi1、net、Org等;如:com.yjhmi1y.test2、类(CIaSS)的命

2、名类名应当是个一名词,采纳大小写混合的方式,每个单词的首字母大写。尽量保证类名简洁而富于描述。运用完整单词,避开缩写词(除非工程内有统一缩写规范或该缩写词被更广泛运用,像UR1.,HTM1.)如:FiIeDescription3、接口(Interface)的命名基本与Class的命名规范类似。在满意Classd命名规则的基础之上,保证开头第一个字母为I便于与一般的Class区分开。其实现类名称取接口名的其次个字母到最终,且满意类名的命名规范:如:IMenuEngine4、枚举(Enum)的命名基本与Class的命名规范类似。在满意Classd命名规则的基础之上,保证开头第一个字母为E,便于与一

3、般的CIaSS区分开。如:EUserRole5、异样(Exception)的命名异样(Except!on)通常采纳字母e表示异样,对于自定义的异样类,其后缀必需为Exception如:BusinessException6、方法(Method)的命名方法名是一个动词,采纳大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。方法名尽可能的描述出该方法的动作行为。返回类型为Boolean值的方法一般由is或has来开头如:getCurrentUser()、addUser()、hasuthority()7、参数(Param)的命名第一个单词的首字母小写,其后单词的首字母大写。参数量名不允许

4、以下划线或美元符号开头,虽然这在语法上是允许的。参数名应简短且富于描述。如:publicUserContextget1.oginUser(StringIoginName):8、常量字段(Constants)的命名静态常量字段(staticfinal)全部采纳大写字母,单词之间用下划线分隔:如:publicstaticfinal1.ongFEEDBACK;publicstatic1.ongUSER.STATUS;1.风格务必保持一贯性(COnSistent)一位同胞顶着我的鼻子问,为什么我们的Java代码缩进格式非得是这样,而不能是他那样,他就是喜爱他闩己的这一种,因此他写的代码总是用他自己习惯

5、的风格。结果在CodeReview里被大家毙掉,责令修改。因此他是大大地不服。就是风格一贯性问题。其实他的风格,原来也没有什么问题,但在项目里,和其他程序员的程序的风格,显得扃异,那就存在问题了。比如这个缩进,乂比如变量命名方法,不同的类,不同的Methods里,各自不同,这程序就很难看了。所以一旦你选择了某种风格,肯定要贯彻始终。假如一个项目里规定了一个风格,即便很不符合你自己的习惯,也要贯彻始终,绝不应当有独树一帜。2.缩进风格(indent)既然是从缩进说起,就先说说缩进风格;一般来说,象Java这样的类C语言,都采纳缩进风格。而常用的,有四种A.KR风格这是C程序最早的缩进风格,由C的

6、独创者Ritchie和他的合作者Kernighan领先运用:if(cond)body其特点,是大括号和if推断在同一行。通常,缩进为8个空格或一个tab键,但在C+和Java里,也常缩进4个空格。有人喜爱用两个空格,窃以为不好,不明显。B. BSD风格乂称AllmanStyle,源自UniXBSD程序员Ericllman他为BSD写过很多程序:if(co11d)body特点:大括号和条件推断分在两行。C. Whitesmith风格这种风格源于WhitesmithC:if(cond)bodyD.GNU风格这种风格仅见于GNUEMACS的源程序中:if(cond)body那么在JaVa里用哪种好呢

7、?建议只采纳A或B0SUN有一个JaVaCodeNameConvention,建议的是3.Tab还是空格(TabSvsSpace)还是缩进问题。那么一次缩进应当多大距离?是八个空格键,还此一个Tab键?Java有一个特点,就是跨平台性。不过跨平台指的是它的Class可以在不同平台的虚拟机上运行。Java的源程序,有时候可不是跨平台的。什么?源程序还能不跨平台?是的。有次一个程序员送来一些Code,在我的环境里打开,程序难看得一塌糊涂,有该缩进的地方,没有缩进,有的则缩进一大截,犹如怪石一样,嶙峋参差。这样的代码质量可不行!叫来程序员一问,答日在他那里美丽得很啊,他还特地花时间去美化它们了呢?原

8、来他的缩进没有留意一个风格,在有的地方用Tab键,有的地方打空格。在一些不同的平台上,Tab键的宽度可是不一样的。说道这里,信任大家比较清晰了,在缩进的时候,尽量不用Tab,而是用空格。好在很多编辑器,都可以把你的键盘上的Tab键定义成几个空格。抓紧去定义它!每次用多少空格呢?4个。2个太少不明显,8个太多占空间。4 .行宽说道8个空格键占空间,那么我一行有320歹J,8个空格算什么?打住!请寄住,一行尽量不要超过80列。很多终端一个屏幕只能显示80歹力为它们想想巴。假如你的语句太长,想方法折断它,分几列来写。5 .变量命名SUNJavaCodeConvention里定义了Java里PaCka

9、ge,class,method和一般变量的命名规则,我就不用再奢侈字节了。这里提提一些留意事项和一些SUN没提到但大家常用的方式。a.用有意义的名字命名变量首先,用完整的英语单词或约定俗成的简写命名你的变量,如:firstNamcZipCode假如英语不够好,至少用别人看得懂的拼音命名,如ZhuZhi(住址)胡乱简写,或者胡乱命名,则没有人看得懂你的变量的含义:fnzczzb.常量用全大写加下画线命名JaVa里的常量,就是staticfinal:statiCfinalSMTH_BBS=;c.用复数命名collection类变量collection包括数组,vector等。命名时请用复数:cus

10、tomersclassMates也可以用一些修饰词命名:SomeStudentsal!Departmentscl.循环变量一般大家都用i,j,k等做循环变量。e.Stream变量一般习惯用in,out作为Stream变量,对应inputStream,OutputStream类。假如即读又写的ioStream,可以用inutf.变量的命名习惯习惯MFC的人喜爱采纳匈牙利命名法(HungarianNotation)。假如你习惯这样,尽管用,但留意要和同Project的人保持一样。还有些人习惯C+里的下画线方式,也可以采纳。HungarianNotation:sFirstNameUnderScore

11、Style:_firstName这里供应一个HUngarianNotation的前缀命名习惯:intibytebcharcdoub1edfloatf1ong1offsetoff1ength1enObjectoStringS(orstr)rbitrayvaluev6.Java文件格式有很多方式定义你的文件语句格式,以下是一个例子:a.文件头说明(可无)b.Package定义c.空行d.Import语句e.空行f.类定义如:packagecom.midi:/JavaClassesimportjava.awt.*;importjava,io.*;importjavax.SWing.event.*;/

12、Web1.ogicClassesimportwebIogic.internal.*:*Blahblah*authormidi*WVCrSion22.2*ipublicclassMyFirstextendsJFrame.*Foo.*Oauthormidi*VerSiOn38.2*/classFoo.7. import依次杂乱无章的依次,看起来很不顺眼。应当对你要import的classes归类,按依次排列:a.Java标准类(java.*)b.Java扩充类(javax.*)c.第三方类d.你的应用程序的类而且留意在第三方类里注释它们,说明它们的来源:importjava.*;importjav

13、a,uti1.Date;importjava.uti1.Enumeration;importjavax.Sq1.*;/ApacheXercesimportorg.apache,xml.*;importorg.apache,xerces.dom.*;/App1icationclassesimportcom.midi.uti1.*;8.Classes的依次a.Javadoc注释或者其它文件头注释b.类声明c.Fields声明d.空行e.构造函数f.空行g.方法(不包括main)h.空行i.Inner类j.空行k.main()例:/*ThiSiSaSimpleM)MtreeXM1.parser.*.

14、*author:midi*tversion:0.0.1*/publicclassMyParser(/publicconstantspublicstaticfinalStringTIT1.E=MyParser;publicstaticfinalStringVERSION=0.0.1;/PrivatevariablesprivateintiSchemaVersion:*Constructor*/publicMyParserOiScheniaVersion=1;*Constructor*param.*/publicMyParser(iSchemaVersion)this.iSchemaVersion=iSchemaVersion;*Initializetheparser.*/publicvoidmylnitOthrowsException.*starttheapplication*/publicstaticvoidmain(Stringargvs).9.Field定义请遵从以下依次:a.Public常量b.PubliC变量c.Protected常量d.Protected变量e.Package常量f.Package变量g.Private常量h.Private变量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > Java

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!