【程序员开发笔记】Java项目开发相关的命名规范

俗话说名不正则言不顺,言不顺则事不成,一个好的命名规范能让我们的代码看起来更加优雅美观,写起来也感觉逼格更高一点

下面总结了一下相关的Java命名规范

项目名

1.如果只有一个单词就全部小写

2.两个以上的单词就用 “-”进行分隔,小写

可以看到github上面一些著名的开源项目比如apache和spring都是小写,以 xxx-xxx的形式来命名

【程序员开发笔记】Java项目开发相关的命名规范

【程序员开发笔记】Java项目开发相关的命名规范

包名

1.全部小写

2.规则可以按[域名反转].[团队名].[项目名].[一级模块].[二级模块]..[N级模块].[类]的格式进行划分,如果功能更多,可以进行更细的包划分

如果是组织的话就用org.xxx.xxx,比如阿里的dubbo项目(2018年2月15日,Dubbo 获得了 14 张赞成票,在无弃权和反对票的情况下,顺利通过投票,成为 Apache 基金会孵化项目)

【程序员开发笔记】Java项目开发相关的命名规范

如果是公司的项目,就用com.公司名.项目名

比如唯品会的vjtools

【程序员开发笔记】Java项目开发相关的命名规范

携程的apollo项目

【程序员开发笔记】Java项目开发相关的命名规范

类名

1.无论类名只有一个单词或者多个单词组成,每个单词的首字母都要大写

【程序员开发笔记】Java项目开发相关的命名规范

2.功能性的类可以使用特定关键词作为标记

实现类用impl结尾

接口+impl

【程序员开发笔记】Java项目开发相关的命名规范

抽象类使用Abstract做为类命名的开头

【程序员开发笔记】Java项目开发相关的命名规范

异常类命名使用“Exception”做为类命名的结尾

【程序员开发笔记】Java项目开发相关的命名规范

单元测试类使用“Test”做为类命名的结尾

【程序员开发笔记】Java项目开发相关的命名规范

常量名

1.全部字母大写

2.多个单词用下划线分隔

(参考Long类源码的定义)

【程序员开发笔记】Java项目开发相关的命名规范

注释:

1.单行

//

2.多行

/**

* Central class for creating queries. It follows a fluent API style so that you can easily chain together multiple

* criteria. Static import of the 'Criteria.where' method will improve readability.

*

* @author Thomas Risberg

* @author 作者名称

* @param obj 参数的备注信息

* @return 返回值的备注信息

*/

如果只有一行也不要写成这样

/** this is note */

应该写成

/**

* this is note

*/

基本规则

1.以上的名称的组成元素只能是字母、数字、下划线、$符号

2.不要用数字开头

3.名称不能使用Java的关键字,比如idea在新建包名的时候出现关键字就会提示包名不合法

【程序员开发笔记】Java项目开发相关的命名规范

4.不要出现中文及拼音命名(有些方法命名又有拼音又有英文,就会显得四不像)

附(Java关键字列表):

【程序员开发笔记】Java项目开发相关的命名规范

Java关键字列表

百度SDK Unity导出Android Studio工程与安卓的交互

一、安卓与Unity的通信与交互首先打开Android Studio新建工程名字随便起,然后在工程中新建Module,选择Android Library 后面名字也随便写。 在Unity安装目录中找到classes.jarD:\Program Files\Unity 5.5.1p4\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mo...

Java开发者必知必会的20种常用类库和API

《Effective Java》的作者Joshua Bloch曾经说过:“建议使用现有的API来开发,而不是重复造轮子”。

JavaScript中的内存管理

使用具备垃圾收集机制的语言编写程序,开发人员一般不必关心内存管理的问题。但是,JavaScript在进行内存管理及垃圾收集时面临的问题还是有点与众不同的。

Unity3D游戏开发基础面试题整理

Python、Java、Unity游戏开发、大数商、UI/UE交互设计等各类IT互联网教育。 渲染管道中的很多步骤,都要将几何物体从一个坐标系中变换到另一个坐标系中去。