JAVA命名规范(阿里巴巴)及其口语化总结

先来口语化总结:

       ① 命名使用名词

       ② 驼峰命名法(Camel-Case): 当变量名或函数名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外)。如:myFirstName

       ③ 项目名、包名全小写。如: com.fxy.dao

       ④ 类名首字母大写。 如: StudentAnswer.java

       ⑤ 接口类:UserInterface( Dao、Service ).java   接口实现类:UserInterfaceImpl( Dao、Service ).java

       ⑥ 变量名:基本结构为typeVariableName,用3字符前缀来表示数据类型。如:定义一个整形变量:intDocCount

           避免用Flag来命名状态变量

           用Is来命名逻辑变量,如:blnFileIsFound

       ⑦ 静态变量:全部大写,多词合成的变量采用“_”来连接各单词。如:USER_LIST

       ⑧ 方法:首字母以小写开头,每个单词首字母大写(第一个单词除外)。最好是一个动词或者动词词组或者第一个单词为一个动词。如:getUserName()

       ⑨ Web层(action、controller)方法:最好是贴近web的语言,如register,login,logout

           服务层方法(service):根据方法的行为命名,只描述方法的意义,而不采用方法的目的命名。比如系统的添加新用户,用户可以前台注册,也可以管理员后台添加,方法会被重用,所以最好不要用使用register,采用add会更好写。避免使用与web层相关的方法

            数据层方法(dao):只能以insert(插入),delete(删除),update(更新),select(查找),count(统计)开头

       ⑩ 注释 (Javadoc):以/**开头,而以*/结束,即 /**    */ 

           Jsp页面名称:

               1.全部采用小写的英文字符和”_ ”组成 

               2.整体采用模块名+操作的形式。如:user_view.jsp

               3.Jsp页面尽可能与action的意思对应,如UserListAction 对应user_list.jsp

接下来是官方文档的部分总结:
一、包名的书写规范 (Package)
   1.1 具有识别度,使用公司名(个人名字)
   1.2 全小写
   如: com.fxy.dao

二、类名的书写规范 (Class)
   2.1 类的命名(首字母大写,其他小写)
       如: StudentAnswer.java

   2.2 当要区别接口类和实现类的时候,可以在类的后面加上“Impl”。
       如:接口类:UserInterface.java   接口实现类:UserInterfaceImpl.java
   
   2.3 
     1、Dao层
a、接口类:实体对象+Interface+Dao  
   如:用户对象接口类: UserInterfaceDao,其中xxx为模块名称。
b、实现类:实体对象+Interface+Impl+Dao
     如:用户对象实现类:UserInterfaceImplDao

     2、Service层
        a、接口类:模块+Interface+Service。    
   如:用户管理接口类:UserMsgInterfaceServiec
b、实现类:模块+Interface+Impl+Service
   如:用户管理实现类:UserMsgInterfaceImplServiec

     3、Web层(action类)
a、实现类:模块+操作+Action
   如: 用户模块User+删除操作Delete+Action = UserDeleteAction

三、变量名(参照java驼峰命名法,首字母以小写开头,每个单词首字母大写(第一个单词除外))
    
    3.1 变量命名采用基本结构为typeVariableName,使用3字符前缀来表示数据类型。
如:定义一个整形变量:intDocCount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。

     (这里嵌入阿里巴巴的表)


   

  3.2 变量使用技巧:

       a、在一段函数中不使用同一个变量表示前后意义不同的两个数值。

       b、除非是在循环中,否则一般不推荐使用单个字母作为变量名,i、j、k等只作为小型循环的循环索引变量。

       c、避免用Flag来命名状态变量。

       d、用Is来命名逻辑变量,如:blnFileIsFound。通过这种给布尔变量肯定形式的命名方式,使得其它开发人员能够更为清楚的理解布尔变量所代表的意义。 

      e、如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intCnt,而在另一些区域中又使用intCount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写。  


3.3 静态变量

    1、参照java驼峰命名法,采用全部大写的形式来书写,对于采用多词合成的变量采用“_”来连接各单词。如:USER_LIST

3.4 方法的命名

    1、参照java驼峰命名法,首字母以小写开头,每个单词首字母大写(第一个单词除外)。

    2、方法表示一种行为,它代表一种动作,最好是一个动词或者动词词组或者第一个单词为一个动词。

    3、属性方法:以get/set开头,其后跟字段名称,字段名称首字母大写。如:getUserName()

    4、数据层方法(dao):只能以insert(插入),delete(删除),update(更新),select(查找),count(统计)开头,其他层方法避免以这个5个单词开头,以免造成误解。

     5、服务层方法(service):根据方法的行为命名,只描述方法的意义,而不采用方法的目的命名。比如系统的添加新用户,用户可以前台注册,也可以管理员后台添加,方法会被重用,所以最好不要用使用register,采用add会更好写。避免使用与web层相关的方法。

     6、Web层(action、controller)方法:最好是贴近web的语言,如register,login,logout等方法。

四、 注释的书写规范 (Javadoc)

Java除了可以采用我们常见的注释方式(//、/* */)之外,Java语言规范还定义了一种特殊的注释,也就是我们所说的Javadoc注释,以/**开头,而以*/结束, Javadoc 注释可以被自动转为在线文档,省去了单独编写程序文档的麻烦。 推荐使用。

Javadoc注释主要涉及范围:类、属性、方法。

package org.ietf.jgss;
import java.net.InetAddress;

import java.util.Arrays;

/**

 * 该类的整体性描述。

 *

 * @author 作者

 * @version 1.0, 05/22/07

 * @since 1.0

 */

public class ChannelBinding {

/**

 * 对该变量的备注信息

 */

private InetAddress initiator;

/**

 * 对该变量的备注信息

 */

private InetAddress acceptor;

/**

 * 对该变量的备注信息

 */

    private  byte[] appData;

  

    /**

     * 对该类的构造函数的备注信息。

     *

     * @param initAddr 对参数的备注。

     * @param acceptAddr对参数的备注。

     * @param appData对参数的备注。

     */

    public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr,

              byte[] appData) {

         initiator = initAddr;

         acceptor = acceptAddr;

         if (appData != null) {

              this.appData = new byte[appData.length];

              java.lang.System.arraycopy(appData, 0, this.appData, 0,

                   appData.length);

         }

    }

 

    /**

     * 对该类的具体一函数的备注信息

     *

     * @param obj 参数的备注信息

     * @return 返回值的备注信息

     */

    public boolean equals(Object obj) {

         if (this == obj)

              return true;

         if (! (obj instanceof ChannelBinding))

              return false;

         ChannelBinding cb = (ChannelBinding) obj;

         return Arrays.equals(appData, cb.appData);

    }

}
五、其他书写规范

    5.1  Jsp页面名称的书写规范
        1.全部采用小写的英文字符和”_ ”组成。

        2.整体采用模块名+操作的形式。如:user_view.jsp

        3.Jsp页面尽可能与action的意思对应,如UserListAction 对应user_list.jsp


    5.2 接口:使用驼峰式命名。除了用名词外,还可以用形容词命名(体现其功能特性)

    5.3 方法:规定用动词命名,适合用驼峰式命名,但与类名的最大区别在于,首字母必须小写

    5.4 变量:规定为名词,其他同“方法”命名方式一样。变量名非常关键,应含有具体意义且易于理解,一般不允许使用单个字母 做变量名。除非一些临时性变量,像在循环中使用到的计数器等。在使用单个字母做变量名时,一般I、J、K用来命名整形变量。

    5.5 常量:规定全用大写字母表示,如果名字必须用多个单词来表示,那么各单词间用“-“分隔。常量要求必须意义明确,能表达出常量的含义。


  • 17
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值