java包名命名规范

做开发的都知道,一个好的项目规范可以提高开发效率以及后期的维护。自己手上有个项目,里面规范很乱,自己在对它进行二次开发的时候很蛋疼,它没有相应的文档,公司给我的就只有一个项目源码,其中的关系还要自己去做调试之后慢慢搞清楚。

今天学习了有关项目的规范教程就写了这边文章,请大家多多指教。


—-引用尚学堂的


以下是自己感觉比较好的文章就抄过来了:

一、命名规范

1、 项目名全部小写

2、 包名全部小写

3、 类名首字母大写,一般都是使用驼峰式命名。

如:public class MyFirstClass{}

4、同上: 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。

如:int index=0;

       public void toString(){}

5、 常量名全部大写

如:public static final String GAME_COLOR=”RED”;

 

二、注释规范

1、   类注释

在每个类前面必须加上类注释,注释模板如下:

/**

* Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.

* FileName: Test.java

* 类的详细说明

*

* @author 类创建者姓名
    * @Date    创建日期

* @version 1.00

*/

 

2、   属性注释

在每个属性前面必须加上属性注释,注释模板如下:

/** 提示信息 */

private String strMsg = null;

 

3、   方法注释

在每个方法前面必须加上方法注释,注释模板如下:

/**

* 类方法的详细使用说明

*

* @param 参数1 参数1的使用说明

* @return 返回结果的说明

* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明

*/

4、   构造方法注释

在每个构造方法前面必须加上注释,注释模板如下:

/**

* 构造方法的详细使用说明

*

* @param 参数1 参数1的使用说明

* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明

*/

 

5、   方法内部注释

在方法内部使用单行或者多行注释,该注释根据实际情况添加。

如://背景颜色

       Color bgColor = Color.RED

6、项目分层命名

一般可以分为两种情况进行命名:

A、以功能模块来分层定义

     比如,现有两个功能模块User、Menu

     com.xxx.user.action        com.xxx.menu.action

     com.xxx.user.service      com.xxx.menu.service

     com.xxx.user.dao            com.xxx.user.dao

     com.xxx.user.controller   com.xxx.user.controller


B、以逻辑模块来划分

   com.xxx.action  UserAction  MenuAction

  com.xxx.service  UserService  MenuService


转自:https://blog.youkuaiyun.com/u012486437/article/details/52013617

<think>我们正在讨论Java的命规则。根据用户提供的引用,我们可以总结如下: 引用[1]提到:Oracle用于Java核心约定。表示域的初始必须小写。例如:`package java.lang;` 和 `package java.util;`。 引用[2]强调:使用标准的Java约定可以使代码更易于阅读,这对程序员自己和他人都有好处。 引用[4]提到:当中的类是分类时使用单数形式,当它们是实现时使用复数形式。但注意,这通常用于类而不是。不过,在中,通常使用单数形式。 此外,根据Java官方的命约定,应该全部小写,以避免与类或接口冲突。同时,通常使用反转的域作为前缀,以确保唯一性。例如,如果公司域为`example.com`,那么前缀应该是`com.example`。 总结Java规则如下: 1. **全部小写**:中的所有字母都应小写。 2. **使用反转的域作为前缀**:例如,`com.example`。 3. **后续部分**:在反转域之后,可以根据功能或模块进行命,同样使用小写字母,多个单词可以连在一起或使用下划线(但不推荐下划线,通常使用点分隔)。 4. **使用单数形式**:通常使用单数词。 示例: - 正确:`com.example.projectname.utils` - 错误:`com.example.projectName.Utils`(因为含大写) 另外,引用[3]提到的JNDI(Java和目录接口)虽然与命有关,但它是用于目录服务的,与规则关系不大,所以我们可以忽略。 因此,回答用户关于Java规则的问题,我们可以这样组织: ### Java规则 1. **全部小写字母** 中的所有字符必须是小写字母,避免使用大写字母或混合大小写[^1]。 例如: ```java package com.example.mypackage; // 正确 package com.example.MyPackage; // 错误(含大写) ``` 2. **以反转的互联网域开头(确保唯一性)** 使用公司或组织的互联网域的反转形式作为的前缀。例如,域为`example.com`,则前缀为`com.example`[^1]。 示例: - 域:`google.com` → 前缀:`com.google` 3. **使用有意义的称** 在域反转部分之后,使用能够描述功能的单词,例如: - `com.example.project.dao`(数据访问对象) - `com.example.project.util`(工具类) 4. **避免使用下划线或连接符** 虽然允许使用下划线,但通常不推荐。多个单词应直接连接在一起(不使用连接符)[^1]。 例如: ```java package com.example.dataaccess; // 推荐 package com.example.data_access; // 不推荐 ``` 5. **使用单数词** 通常使用单数形式,除非该含一组相关的类(如工具类集合,有时也使用单数)[^4]。 例如: - `com.example.util`(工具,单数形式) - `com.example.dao`(数据访问对象,单数) 6. **避免使用Java保留字或关键字** 不要使用Java的关键字(如`int`、`class`等)作为的一部分。 #### 示例代码 ```java // 正确的声明 package com.example.calculator.utils; public class MathHelper { // 工具方法 } ``` #### 常见错误 - 使用大写字母:`com.example.MyPackage` → 应改为`com.example.mypackage` - 使用复数形式:`com.example.utils` 是允许的,但通常单数形式`util`更常见(但注意,`utils`作为也很常见,实际中单复数并没有严格规定,但官方文档推荐单数) > 遵循这些约定可以提高代码的可读性和维护性[^2]。 §§ 相关问题 §§ 1. Java的命规则是什么? 2. 如何为开源项目选择合适的? 3. 与模块化(JPMS)有什么关系? 4. 在Maven项目中如何配置? 以上回答参考了用户提供的引用内容,并结合了Java官方的命名规范。</think>### Java规则详解 以下是Java(Package)的核心命名规范,遵循Oracle官方建议和行业通用实践: #### 1. **基本规则** - **全小写字母**:所有字符必须小写[^1] ```java package com.example.project; // 正确 package com.example.Project; // 错误(含大写) ``` - **域反转原则**:使用互联网域的倒序作为前缀[^1] ```java:google.com → :com.google.xxx 域:oracle.com → :com.oracle.jdbc ``` #### 2. **结构规范** | 层级 | 示例 | 说明 | |------|------|------| | 顶级域 | `com`, `org`, `net` | 根据组织类型选择 | | 组织 | `example`, `acme` | 公司/组织英文 | | 项目模块 | `service`, `util` | 功能模块描述 | #### 3. **语义化要求** - **单数形式优先**:当表示分类时使用单数词[^4] ```java package com.example.model; // 正确(模型分类) package com.example.models; // 不推荐 ``` - **避免保留字**:禁止使用Java关键字(如 `int`, `class`) - **连字符替代**:单词间用点分隔,**禁止**使用下划线或连字符 ```java package com.example.dataaccess; // 正确 package com.example.data_access; // 错误 ``` #### 4. **项目中的实践建议 ```java // 标准项目结构示例 com └── company └── project ├── config // 配置类 ├── service // 业务服务 ├── dao // 数据访问层 ├── model // 数据模型 └── util // 工具类 ``` #### 5. **特殊场景处理** - **未注册域**:使用 `internal` 或项目 ```java package internal.toolkit; ``` - **开源项目**:保留 `org` 顶级域 ```java package org.apache.commons; ``` - **单功能**:直接使用功能(需确保唯一性) ```java package logger; // 简易工具 ``` > 遵循这些规范可显著提升代码可读性和协作效率[^2],尤其在大型项目中能避免命冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值