Java 语法规定之外的命名注释规范

命名规范

1. 项目名

项目名全部小写,且不使用下划线,含多个单词时使用划线分隔。

2. 包名

包名全部小写,且不使用下划线,即便含多个单词也不分隔。对于不同的项目,包名分为以下几种:(此部分与域名类似,可参考域名规则)

  • 公司项目:com.公司名.项目名.模块名.具体分类

  • 非盈利组织:org.组织名.项目名.模块名.具体分类

  • 团队项目:team.团队名.项目名.模块名.具体分类

  • 其它:

    • 个人项目:表示个人的英语单词有 individual、personal、private、one-man 等

      • indi:个体项目。指个人发起,但非自己独自完成的项目,可公开或私有项目,版权主要属于发起者。

        包名规则:indi.发起者名.项目名.模块名.具体分类

      • pers:个人项目。指个人发起,独自完成,可分享的项目,版权主要属于个人。

        包名规则:pers.个人名.项目名.模块名.具体分类

      • priv:私有项目。指个人发起,独自完成,非公开的私人使用的项目,版权属于个人。

        包名规则:priv.个人名.项目名.模块名.具体分类

      • onem:与 indi 相同

3. 类名

类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写。如:

   public class MainActivity extends AppCompatActivity { /* TODO */ }

另外,类名最好为名词,或者是以名词结尾,而前缀为修饰该名词的形容词、动名词。

4. 常量名

常量名全部大写。如果名称由多个单词组成,则这些单词之间使用下划线隔开。如:

   public static final int MAX_LENGTH = 100;

5. 变量名

变量名的首字母小写。如果名称由多个单词组成,则从第二个单词开始,每个单词的首字母都要大写。如:

   private boolean upPressed;

对于泛型形参,其遵循类名的规则。

另外,在定义泛型类型形参时,其习惯的象征意义为:

  • E:表示集合的元素类型

  • K、V:分别表示集合中键和值的类型

  • T、U、S:均表示任意类型

6. 方法名

变量名的首字母小写。如果名称由多个单词组成,则从第二个单词开始,每个单词的首字母都要大写。 如:

   public void setName(String aName) { this.name = aName; }

对于不同领域的方法,其附加的规则为:

  • Service / DAO 层方法命名规则:

    • 字段初始化的方法用 set 做前缀。

    • 插入的方法用 save 或 insert 做前缀。

    • 获取单个对象的方法用 get 做前缀。

    • 获取多个对象的方法用 list 做前缀。

    • 修改的方法用 update 做前缀。

    • 删除的方法用 remove 或 delete 做前缀。

    • 获取统计值的方法用 count 做前缀。

  • 领域模型命名规则:

    • 数据对象: xxxDO。 其中xxx 为数据表名。

    • 数据传输对象: xxxDTO。 其中 xxx 为业务领域相关的名称。

    • 展示对象: xxxVO, xxx 为网页名称。

    注意: POJO 是 DO 、 DTO、 BO 、VO 的统称,所以不要命名成 xxxPOJO 。

8. 其它命名技巧

  • 直接使用类型名命名。如:

        View view;
    
  • 在变量名前面加上一些前缀。如:a

    附: 在 C++ 中,往往喜欢使用前缀 m,x,下划线_,Java 程序员通常不这么做

        Box aBox;
    
  • 使用谐音简化。如使用数字2来替代单词to,使用数字4来替代单词for。

    在这种情况下,数字本身也能起到分隔字母的作用,因此这种技巧能替代使用大写字母进行分隔,但数字谐音不能充当后缀。

9. 应当避免的行为

  • 使用单个英文小写字母作为名称。如:i,j,k,a

  • 使用简单泛化意义的数字作为后缀。如:1、2、…

  • 类方法形参变量的名称和类字段相同

  • 使用英文以外的人类文字。如:使用中文、汉语拼音

10. 经典的命名法

  • 下划线命名法:

    单词与单词之间通过下划线分隔。

  • 驼峰式命名法(小驼峰式命名法):

    第一个单词首字母小写,后面的单词首字母大写,其它字母均小写。

  • 帕斯卡命名法(大驼峰式命名法):

    每个单词的第一个字母都大写,其它字母均小写。

  • 匈牙利命名法:

    开头字母用变量类型的缩写,这一部分全部用小写。其余部分用变量的英文或英文的缩写,这一部分的大小写遵循帕斯卡命名法。

11. 常用命名词汇

  • 笔者常用的匈牙利缩写命名如下表:

    缩写全称意义
    ptrpointer指针
    srcsource来源
    rspresponse响应
    implimplement实现
    ---
    msgmessage信息
    imgimage图像
    ---
    btnbutton按钮
    dlgdialog对话框
    ---
    fxframework框架
  • 笔者常用的前缀缩写如下表:

    缩写全称意义
    optoption选择
    infoinformation信息
    reqrequest请求
  • 普通的匈牙利命名如下表:

    缩写意义
    a数组(Array)
    b布尔值(Boolean)
    by字节(BYte)
    c有符号字符(Char)
    cb无符号字符(Char Byte)
    cr颜色参考值(Color Reference)
    cx、cy坐标差(坐标:Coordinate)
    dw双字节(Double Word)
    fn函数(FuNction)
    h句柄(Handle)
    i整型(Int)
    l长整型(Long int)
    lp长指针(Long Pointer)
    m类成员(class Member)
    n短整型(Number)
    np近程指针(Near Pointer)
    p指针(Pointer)
    s字符串(String)
    sz以 null 结尾的字符串(String with Zero end)
    w字(Word)
  • 多用于包名或类名

    意义拼写位置
    抽象Abstract、Base前缀
    枚举Enum后缀
    接口实现Impl后缀
    异常Exception后缀
    工具Utils后缀
    测试Test后缀
    处理器 / 校验器Handler / Validator-
    断言Predicate-
    包装类Wrapper后缀
    意义(领域模型系列)拼写(后缀)
    -DO
    -DTO
    -VO
    -DAO
    意义(设计模式系列)拼写(后缀)
    -Builder
    -Factory
    意义(MVC系列)拼写(后缀)
    控制器Controller
    服务Service
    数据访问对象DAO

注释规范

1. 类注释

类注释在每个类的前面添加。注释模板如下:

   /**
   * Copyright (C), 2020-202X, Company name info. Co., Ltd.
   * FileName: Test.java
   * 类的详细说明
   *
   * @author 类创建者姓名
   * @Date  创建日期
   * @version 版本号
   */

2.字段注释

字段注释在每个字段的前面添加。注释模板如下:

   /** 这是为了保证软件开始界面的提示信息只提示一次 */
   private static int startMessageCounter = 0;

3.构造器注释

构造器注释在每个构造器方法的前面添加。注释模板如下:

   /**
   * 构造方法的详细使用说明
   *
   * @param 参数1 参数1的使用说明
   * @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
   */

4.方法注释

方法注释在每个方法的前面添加。注释模板如下:

   /**
   * 类方法的详细使用说明
   *
   * @param 参数1 参数1的使用说明
   * @return 返回结果的说明
   * @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
   */

5.方法内部注释

方法内部注释添加在所需要注释的代码前面,可使用一行或多行。如:

   // 创建Spring容器
   var ctx = new ClassPathXmlApplicationContext("spring-config.xml");
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java 语言规范主要有以下几项内容: 1. 标识符命名规则:Java 中的标识符由字母、数字、下划线、美元符号组成,但必须以字母或下划线开头,不能是数字。Java 中的关键字不能作为标识符使用。 2. 类和接口的命名规则:Java 中的类名和接口名应该以大写字母开头,如果有多个单词组成,则每个单词的首字母都应该大写,这种命名方式被称为驼峰命名法。 3. 包的命名规则:Java 中的包名应该全部小写,如果有多个单词组成,则可以使用下划线连接,也可以使用点号连接。 4. 注释规范Java 中的注释可以使用单行注释、多行注释和文档注释。单行注释以两个斜杠开始,多行注释以一个斜杠和一个星号组成,文档注释以一个斜杠和三个星号组成。 5. 缩进规范Java 中的代码应该遵循一定的缩进规则,使代码结构清晰,易于阅读。 6. 常量命名规范Java 中的常量命名应该全部大写,如果有多个单词组成,则可以使用下划线 ### 回答2: Java语言规范是由Java语言的创始者Sun公司(现在是Oracle公司)制定的一系列规定和标准,它可以帮助开发者编写出符合Java语言特性和要求的代码。 Java语言规范包括以下内容: 1. 语法Java语言规范定义了Java语言的语法结构,包括数据类型、控制流语句、表达式等。它规定Java代码应该如何书写,使得代码清晰、易懂、易于维护。 2. 语义:Java语言规范规定Java程序的行为和语义。它定义了Java程序中各种语句和表达式的功能和意义,如何进行类型转换、运算规则、异常处理等。 3. 类和对象:Java语言规范规定了如何定义和使用类和对象。它包括类的声明、属性和方法的定义、构造函数、继承、封装等内容。 4. 运行时环境:Java语言规范定义了Java虚拟机(JVM)的行为和功能。它规定Java程序的编译、加载、运行、垃圾回收等过程,以及与操作系统、硬件的交互。 5. 标准库:Java语言规范规定Java标准库的内容和功能。它包括基本数据结构、输入输出、网络通信、多线程、异常处理、图形用户界面等常用功能的类和接口。 6. 安全性:Java语言规范规定Java的安全特性。它定义了Java语言的访问权限、类加载机制、代码签名、安全管理等,确保Java程序的安全性和可信度。 Java语言规范的制定是为了保证Java程序的跨平台性和可移植性,使得Java程序可以在不同的操作系统和硬件平台上运行。它为Java开发者提供了编写高质量、易于维护的代码的指导和规范。 ### 回答3: java语言规范是指Java编程语言的规范和标准,它定义了Java语法、语义、标准库以及与Java相关的一些规则和约定。以下是java语言规范的一些重要方面: 1. 语法规范Java语言规范定义了Java程序的语法规则,包括关键字、标识符、运算符、数据类型和语句结构等。 2. 语义规范Java语言规范规定Java程序的语义规则,包括变量的作用域、类型转换、表达式求值和异常处理等。 3. 标准库:Java语言规范定义了Java标准库的接口和类,包括java.lang、java.util、java.io等包,以及各种常用类和接口的用法和功能。 4. 内存模型:Java语言规范定义了Java虚拟机的内存模型,包括对象的内存分配、垃圾回收机制、线程内存模型等。 5. 并发编程规范Java语言规范提供了并发编程的规范和支持,包括线程模型、锁机制和同步工具等。 6. 异常处理规范Java语言规范定义了异常处理的规范和机制,包括异常类的继承关系、异常处理的语法和异常处理的最佳实践等。 7. 编码约定:Java语言规范还包括一些编码约定,用于规范Java代码的编写风格和命名规范,以提高代码的可读性和可维护性。 总之,Java语言规范Java程序的各个方面进行了详细的规定,旨在使开发人员能够编写出高质量、可移植和健壮的Java程序。它为Java开发者提供了一个统一的编程框架,并保证了Java代码的兼容性和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值