学习Java的童鞋们都知道,Java的包、类、接口、方法、变量、常量;JavaEE的三层模型等都有一套约定俗成的命名规则。

我学习每种语言都会关注相应的命名规则,一则体现自己比较专业;二来方便后检查,看到名称就知道是属于什么类型、占用多少内存、使用是否正确等;三又可以供其他人参考。

当然,学习Java也不例外,每次新建Java Project的时候都会想一下命名方式,尤其是对Java Package的命名。起初学习Java的时候都会推敲一番,该怎么命名所建立的Java Package,后来给自己约定俗成了,推敲少了,但命名确更规范了。

下面正式进入主题,讲讲我对Java Package命名规则的一些思考。

Java的包名都有小写单词组成,类名首字母大写;包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类。以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现。

由于Java面向对象的特性,每名Java开发人员都可以编写属于自己的Java Package,为了保障每个Java Package命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以多数开发人员采用自己公司在互联网上的域名称作为自己程序包的唯一前缀。例如: com.sun.swt.……。

从而,我们知道,一般公司命名为“com.公司名.项目名.模块名....”。
    那,我们个人的项目又怎么命名呢?

经过我对“个人的”单词搜索,有“individual、personal、private、one-man”,进一步对以上4个单词词意的分析,并在保证了唯一性,使用每个单词的前4个字母作为前缀,正好和“com”也做了区分。如下:

indi :

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

包名为“indi.发起者名.项目名.模块名.……”。

pers :

个人项目,指个人发起,独自完成,可分享的项目,copyright主要属于个人。

包名为“pers.个人名.项目名.模块名.……”。

priv :

私有项目,指个人发起,独自完成,非公开的私人使用的项目,copyright属于个人。

包名为“priv.个人名.项目名.模块名.……”。

onem :

与“indi”相同,推荐使用“indi”。

另外,我为了区分团队项目和前面所说项目的区分,还有了一下扩展:

team :

团队项目,指由团队发起,并由该团队开发的项目,copyright属于该团队所有。

包名为“team.团队名.项目名.模块名.……”。

com :

公司项目,copyright由项目发起的公司所有。

包名为“com.公司名.项目名.模块名.……”。

转自:http://blog.sina.com.cn/s/blog_a599b5960101r4rp.html

JAVA包命名规范的更多相关文章

  1. java 包命名规范

    转载 原文地址:http://blog.csdn.net/kongjiea/article/details/45365753 Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统 ...

  2. java包 命名规范 [转]

    Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...

  3. java开发命名规范(转载)

    java开发命名规范 使用前注意事项: 1.  由于Java面向对象编程的特性, 在命名时应尽量选择名词 2.  驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而 ...

  4. java开发命名规范总结

    一 包名的书写规范 (Package)推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性.包名全部为小写字母,且具有实际的区分意义. 1.1 一般要求1.选择有意义 ...

  5. 对于java的命名规范(标识符)

    java的命名规范基本都需要使用标识符来命名的: 标识符的介绍: 标识符作用: 给变量起名字的用的. 标识符的组成: 1.Unicode编码:包含大.小写字母,数字,汉字(不建议使用).  2.美元符 ...

  6. java开发命名规范

    使用前注意事项: 1.  由于Java面向对象编程的特性, 在命名时应尽量选择名词 2.  驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首 ...

  7. java项目命名规范

    一.命名规范 1. 项目名全部小写 2. 包名全部小写 3. 类名首字母大写,如果类名由多个单词组成,每个单词的首字母都要大写. 如:public class MyFirstClass{} 4. 变量 ...

  8. java基础之Java变量命名规范

    本文介绍的是java中的变量的命名规则,对于初学者来说,还是很重要的.希望对你有帮助,一起来看. Java是一种区分字母的大小写(case-sensitive)的语言,下面谈谈Java语言中包.类.变 ...

  9. 【Java学习笔记之二】java标识符命名规范

    什么是标识符 就是程序员在定义java程序时,自定义的一些名字.标识符可以应用在类名.变量.函数名.包名上. 标识符必须遵循以下规则 标识符由26个英文字符大小写(a~zA~Z).数字(0~9).下划 ...

随机推荐

  1. flex+java实现文件的上传

    flex前端代码: <?xml version="1.0" encoding="utf-8"?><s:BorderContainer xmln ...

  2. C#实现union以及lock的使用

    1.什么是Union类型数据 联合(Union)是一种特殊的类,一个联合中的数据成员在内存中的存储是互相重叠的.每个数据成员都在相同的内存地址开始. 分配给联合的存储区数量是“要包含它最大的数据成员” ...

  3. LRU

    rsms/js-lru LRU缓存介绍与实现 (Java) 使用场景 缓存计算结果

  4. archlinux设置无线网络连接

    Check the driver $ lspci -k Open the network card $ ip link set <设备名> up Check device status $ ...

  5. python内存管理机制

    主要分为三部分: (1)内存池机制(2)引用计数(3)垃圾回收 (1)内存池机制对于python来说,对象的类型和内存都是在运行时确定的,所以python对象都是动态类型简单来说,python内存分为 ...

  6. webStorm快捷键总结

    Ctrl+Shift+a:快速查找使用编辑器所有功能1.左侧栏目录显影:Ctrl+Shift+F122.文件模板配置:File>Settings>Editor>File and Co ...

  7. spring mvc 重定向传参

    参考链接如下: http://bbs.csdn.net/topics/391034118?page=1 自己的示例程序: 详细页面提交一个修改动作,修改完成后跳转到检索页面,把检索条件重新赋值给检索页 ...

  8. HTTP详解(1)-工作原理

    出处 http://blog.csdn.net/hguisu/article/details/8680808#t0 1. HTTP简介 HTTP协议(HyperText Transfer Protoc ...

  9. C与Python变量的区别

    C中变量有类型,代表一定内存. 而Python变量只是封装过的指针,没有类型.如果不指向对象,就没有意义,更谈不上类型. python中 a=b,和C中 a=b是完全不同的两个操作.前者只是指针(引用 ...

  10. 课堂所讲整理:super和转型(修改版)

    创建父类: package org.hanqi.pn0120; public class Father { private String name; private int age; public S ...