在包中分组类的java约定
我一直想知道以下哪种方法是最好的:
1)
包:cars.blue
类:CarOne.java
,CarTwo.java
包装:cars.red
类:CarOne.java
,CarTwo.java
2)
包:cars.blue
类:BlueCarOne.java
,BlueCarTwo.java
包装:cars.red
类:RedCarOne.java
,RedCarTwo.java
3)
包:cars
课程:BlueCarOne.java
,BlueCarTwo.java
,RedCarCone.java
,RedCarTwo.java
方法1:将汽车类分成不同的包
方法2:似乎有点超载,因为汽车类别已经可以通过包来区分。但是,当您只查看类名时,前缀是一个优势,不需要再查看它所属的位置
方法3:把所有的车放在一个包里
哪种方法最好
# 1 楼答案
否则,我将使用
model
/pojo
/domain
包,执行如下操作:# 2 楼答案
我会选择方法3。因为所有的汽车都在同一个包中(所有的域类都在一起)。这是一个有争议的问题,每个人都可能有自己的利益。AFAIK除了基于用例的判断之外,没有预定义的约定
# 3 楼答案
方法1在两个软件包相互排斥的情况下非常有用,即当汽车有一个共同的界面时,红色和蓝色被编译成单独的罐子,并且一次只出现这两个罐子中的一个。当两个包都可能存在时,这种命名会令人困惑
方法2和方法3几乎是等效的,因为它们的名称彼此相差很大。创建一个单独的包(方法2)可能有点过分,也可能没有,这取决于应用程序中使用这两组类的方式
# 4 楼答案
您可能应该创建封装功能块的包。颜色的区别实际上并不意味着任何功能上的差异,因此我也会选择选项3