rou*_*sis 30 java naming-conventions
我们在团队中讨论了Java的代码约定:
interface:Foo或IFoo或FooInterface?
abstract:Foo或AbstractFoo?
Enums:Foo或FooEnum?
我基本上试图把我的个人偏好放在一边:)所以非常欢迎支持一个或其他惯例的理由.
jrh*_*ath 18
接口:Foo
原因:您的代码不必知道他们正在处理接口.写'IFoo'就是这么做的.相反,Foo清楚地表明'Foo'是通用的,它背后的对象可能是'NumFoo'或'StrFoo'.代码真的不需要关心.
抽象类:AbstractFoo
原因:您的代码永远不会直接使用此类.您将始终将此类子类化以生成其他代码使用的任何类.因此,程序员必须清楚地知道该类是抽象类.有什么更好的方法来命名它抽象!您需要使用AbstractFoo类型的引用的地方,您应该重新考虑使用接口.(当然,这在C++中是不可能的)
枚举:FooType或FooEnum.就个人而言,FooType更好,因为Type更容易与Enum所做的"真实世界"相关.
干杯!
没有特别的约定.
对这些类具有特殊的命名约定基本上是匈牙利符号的形式(坏的类型):它给出的信息已经存在于语法中,并且通常可以由IDE轻松获得,例如当您将鼠标悬停在名称上时.将它放入名称本身是毫无意义和丑陋的.
类名应该简单地描述类的角色.这可以导致"自然"的命名约定 - 一个非常好的例子是使用-able后缀(Iterable,Comparable)命名接口的Java约定 - 但我不想想如果它是普遍强制执行的结果和List,地图等必须遵循它.
| 归档时间: |
|
| 查看次数: |
18551 次 |
| 最近记录: |