总结java编程时的习惯与规范

JAVA编码规范

       为了增强我们在项目里所写代码的可读性,方便以后查看源代码时更清晰明了,也促使我们在编程方面能养成一个良好的习惯,现在针对之前开发项目时的种种不规范,结合相关资料,对java的编程规范做一些常规性汇总。

1、服务器配置要求

       Jdk版本要求1.6以上;

        Tomcat版本(windows)要求为5.0,安装目录为:D:/tomcat;

         项目配置路径(windows):D:/webapps/项目名;

        Tomcat版本(linux)要求为6.0,安装目录:home/web/tomcat6;

         项目配置路径(linux):home/web/webapps/项目名;

        在服务器上配置项目时,端口号从8060开始,8062、8064依次增加;

2、源代码管理

        一个完整的项目源代码文件包括doc,src,webapp三个文件夹和.classpath、.project两个文件。其中,

        doc文件夹里包含项目更新文件、配置文件server.xml和config.properties、数据库文件.sql、项目说明文档;

        src文件夹里包含类文件的源代码、项目配置文件config.properties和log4j.properties;

        webapp文件夹里包含编译好的类文件和一系列网页应用文件。

         配置项目时只需要将webapp文件夹放在服务器上相应的项目配置路径下并修改web_app/WEB-INF/classes路径下的config.properties文件,

然后更改tomcat服务器的配置文件server.xml;

        将项目中web_app/WEB-INF/lib文件夹下的共用jar文件统一放在Tomcat目录下的common\lib路径下;

3、命名规范

      常见的java命名规范主要对象及具体要求包括如下:

(1)文件名、包名命名规范

        文件名所有单词首字母大写,包名一般以项目或模块名命名,少用缩写和长名,一律小写。包名按如下规则组成:

       [基本包].[项目名].[模块名].[子模块名]…

(2)类、接口命名规范

        类的名字必须由大写字母开头而其他字母都小写的单词组成,对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。

例如:public classThisAClassName{}

       接口命名时规则与类相似,但接口名可带I前缀或able、ible、er等后缀。

(3)类方法名命名规范

        类方法的命名应采用完整的英文描述符,大小写混合使用:所有中间单词的第一个字母大写。法名称的第一个单词常常采用一个有强烈动作色彩的动词。

取值类使用get前缀,设值类使用set前缀,判断类使用is(has)前缀。

例: getName()

        setSarry()

         isLogon()

其中,类方法带参数时建议顺序:(被操作者,操作内容,操作标志,其他⋯)

例:public voidreplace(String sourceStr, String oldStr, String newStr)

{

........

}

(4)常量、变量和参数的命名规范

       常量的命名采用完整的英文大写单词,在词与词之间用下划线连接,如:DEFAULT_VALUE ;

        变量的命名要尽量达到能通过变量名知道这个变量表达的含义,变量采用小写字母开头,对于由多个单词组成的变量名,所有单词都应紧靠在一起,而且大写中间单词的首字母。

       参数的命名规范与变量的命名规范一致。

(5)数组的命名规范

       数组的命名应该总是用数据类型+[] +数组名称(一般全采用小写字母),

例如:byte[]  buffer;

(6)特殊类的命名规范

       Servlet类,在对象后加后缀Servlet来命名,如:UserServlet 。

       Applet类,在对象后加后缀Applet来命名,如:GraphApplet 。

       JUnit和测试类,在对象后加后缀Test来命名,如UserTest。

(7)数据库里表和字段的命名规则

       数据库里表名的命名规则是前缀与命名词素间用下划线分隔,命名由小写字母组成。命名词素如果由单一词组成,可用全拼;如果是多词组成,用缩写。缩写间用下划线。例如:

         库表:以‘t_’开头

         视图:以‘v_’开头

         库表索引:以‘ix_’开头,以表名相连接(中部),以相关索引字段为结尾,

        库表唯一索引:以‘uix_’开头,以表名相连接(中部),以相关索引字段为结尾,

        存储过程:以’pro_’为开头,

        触发器:以’tri_’为开头,

  数据库里表的字段命名规则是命名词素如果由单词组成;如果是多词组成,用缩写,缩写间用下划线,其命名由小写字母组成。没有前缀。

(8)JSP命名规范

       采用完整的英文描述说明JSP所完成的功能,尽可能包括一个生动的动词,第一个字母小写,如:viewMessage.jsp、editUser.jsp等。

4、注释规范

       在java编程时,常常需要写注释,即是用文字说明代码的作用,同时指出该代码的编写思路和逻辑方法,使阅读者注意到代码中的重要转折点。主要的两大类编程注释包含java类注释和jsp注释,具体规范如下:

 4.1 JAVA类的注释规范

         java程序的注释量一般占程序编码量的20%。以下是四种必要的注释:

(1)类说明注释

       注释一般位于 package/import 语句之前,class 描述之前。要求至少写出内容说明、创建者、创建时间和特别注意事项等内容。

(2)方法说明注释

        对几乎每个方法都应有适当的说明,位于方法声明之前,包括:说明,参数说明、异常说明、返回值说明和特别说明等。

(3)体内代码的注释

        体(方法体、代码块体、静态代码块体等)内的代码按照功能分成多个虚拟的功能块,每个块以块注释“/* xxx */”注释开始,以空行结束。

(4)行注释

        行注释“//”仅用于调试注释,在程序稳定之后,行注释必须被删除,以免影响程序的可读性。

4.2 JSP的注释规范

        <%-- comment --%> JSP注释,也称为“隐藏注释”。JSP引擎将忽略它。标记内的所有JSP脚本元素、指令和动作都将不起作用。这种注释不会出现载JSP编译后的JSP页面中。

        <!-- comment --> HTML注释,也称为“输出的注释”,直接出现在结果HTML文档中。标记内的所有JSP脚本元素、指令和动作正常执行。

5、书写格式规范

        在java编程时,常常要注意一些书写格式,比如类的方法的代码行数不能过长,尽量控制在100行(90%)。下面针对一些常见的易模糊概念和注意事项进行分类说明。

5.1缩进

        缩进应该是每行4个空格。尽量不要在源文件中保存Tab字符。在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度。

每一对大括号内部都要求缩进!

5.2页宽为80字符

       页宽应该设置为80字符。源代码超过这个宽度可能导致无法完整显示,但这一设置也可以灵活调整。在任何情况下,超长的语句应该在一个逗号或者一个操作符后折行。一条语句折行后,应该比原来的语句再缩进4个字符。

5.3返回值规范

        在一般情况下,方法返回值不应返回null。而是尽量使用异常代替返回null。如果在特殊情况必须返回null, 必须在方法说明中加以特别说明,如使用“特别注意”等字样。例如:从一个集合类实例中提取一个对象,因为有些集合类实例是允许null作为键或值的,这个时候用异常取代返回null就不合适了。

如果方法的返回值是集合类对象,而且返回的集合对象不包含任何元素时,则应返回0长度或0大小的集合对象。不能返回null。

5.4异常处理规范

       整个应用系统使用自行设计的唯一异常类,该类包括message(错误信息)和ID号(整型,表示异常类型)两部分,该类在创建时是自动获得类名、方法名、行号等信息。

对于异常的处理,比较合理的做法是分别捕获各个子类异常之后,分别处理不同的异常,不要一个方法内就一个try{}catch(){}块。尽量使用Exception来反映函数运行中的异常,而不是使用返回值来反映,除非有充分理由这样做。越是底层的类越应该使用Exception来反映函数运行中的异常。在每一个catch到一个异常的时候,在调试状态下请使用ex.printStackTrace()来输出错误信息;在运行状态下请使用ex.getMessege()来输出错误信息。通常情况下应该加上比较容易读懂的中文信息的输出。

注:不允许代码中出现catch(){}而什么也没做。因为这样做还不如直接把异常抛出,让使用该方法的人来处理。同时只要你catch了一个异常,JVM就认为你已经处理了该异常,即是你什么也没有做,就使很多的异常可能隐藏起来了。

5.5表达式使用规范

    (1)所有的算术、逻辑表达式的每一项运算都需要加圆括号,避免使用java语言的运算符优先级。

(2)二元算术运算符(除去“/”)、二元逻辑元素符、赋值运算符,既“+、-、*、%、+=、-=、*=、/=、%=、>、<、 ==、 >=、<=、 =”等符号左右两边要加空格。

(3)参数说明部分的逗号“,”和for语句循环说明部分的分号“;”之前不需要留空格,之后需要留空格。

5.6 if-else语句块使用规范

if-else语句块的格式如下,else紧接着if的结束大括号。

if(……){

……      

   }else{

      ……

}

即使if条件语句语句后面如果只有一行代码,最好也放在大括号中,如:

if( flag ==true){

      flag== false;

}

String username= new String();

……

而非以下形式:

if( flag ==true)

      flag == false;

String username= new String();

……

5.7 try-catch语句块使用规范

try-catch语句块应遵循如下格式:

try{

       ……

}catch(Exception ex){

       ……

}finally{

       ……

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值