资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
Zdeveloper2.x代码规范
1 ZDeveloper命名规范
常见JAVA包命名(以platform插件为例)。
2 公共包
plugins存放所有插件配置文件;
lang存放所有插件国际化配置文件;
JAVA存放所有插件java类文件;
DB目录存放zdm文件。
3 一般情况java包
*.ui子包存放本插件所属UI类(*.ui省略前面的com.zving.platform,下同);
*.service子包存放本插件所属扩展服务类;
*.service.impl子包存放扩展服务项实现类;
*.extend子包存放本插件扩展相关的类( 扩展点接口类或抽象类) ;
*.extend.impl子包存放本插件扩展实现类( 扩展行为或其它扩展实现类) ;
*.bl子包存放本插件所属后台业务逻辑类。
4 特殊扩展服务用到java包
*.code子包存放本插件所属扩展代码管理扩展服务的扩展项类;
*.privilege子包存放本插件扩展菜单权限服务的扩展项类;
*.config子包存放本插件扩展配置项扩展服务的扩展项类;
*.properties子包存放本插件扩展栏目或站点配置项相关的扩展服务的扩展项类;
*.tag子包存放本插件扩展标签服务的扩项类;
*.tempalte子包存放本插件扩展模板服务的扩展项类;
( 插件包的命名参展以上方式, 项目需要能够酌情添加有一定意义的子包)
5 插件包
插件包统一以”com.zving.”+插件名称来命名(公司名称域名+插件名称)。
6 插件类
插件名称+”Plugin”, 位于插件所属包根目录下。
7 插件配置文件
”com.zving.”+插件名称+”.plugin”。
8 UI类
页面名称+”UI”, 类存放位置为”com.zving.”+插件名称+”.ui”子包。
9 扩展服务类
服务名称+”Service”, 类存放位置为”com.zving.”+插件名称+”.service”子包。
10 扩展项类
依据扩展服务类定义子类接口规则命名,如模板服务的扩展项以Template结尾, 菜单权限扩展服务器的扩展项以Priv结尾等。
11 扩展点抽象类
扩展点ID, 类存放位置为”com.zving”+”插件名称”+”.extend”子包。
12 扩展行为类
扩展点ID+”Action”, 类存放位置为”com.zving.”+插件名称+”.extend.impl”子包。
13 ZDM文件
*.zdm文件统一放在DB目录下, 一般每个插件对应唯一的一个ZDM文件, zdm文件以插件名称命名, 首字母大写。
zdm中的表命名规则:
1) 首字母大写;
2) 通用前缀ZC***, 例如: ZCContent, 其中Z表示ZVING, C指代产品类型CMS, Content表示具体的表实际描述名称。ZDUser, 其中D表示Developer, 指我们的基础开发平台。类似的还有ZShop中的ZSGoods等。
14 UI目录下文件命名规则
目录名称一律小写, 页面文件名称首字母小写。
15 JAVA代码
Java代码应条理清晰易读, 一般保持缩进规范适当空行即可, 复杂的业务逻辑代码添加关键部分的注释说明。
16 总体原则
命名能有具体含义, 不要是用简单字母组合、 中文拼音以及不常见的单词缩写等。
17 JAVA代码命名规范(摘自网络)
定义规范的目的是为了使项目的代码样式统一, 使程序有良好的可读性。
包的命名( 全部小写, 由域名定义) :
Java包的名字都是由小写单词组成。可是由于Java面向对象编程的特性, 每一名Java程序员都能够编写属于自己的Java包, 为了保障每个Java包命名的唯一性, 在最新的Java编程规范中, 要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的, 因此程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
例如: net.frontfree.javagroup
类的命名( 单词首字母大写) :
根据约定, Java类名一般以大写字母开头, 如果类名称由多个单词组成, 则每个单词的首字母均应为大 写例如TestPage; 如果类名称中包含单词缩写, 则这个所写词的每个字母均应大写, 如: XMLExample, 还有一点命名技巧就是由于类是设计用来代表对象的, 因此在命名类时应尽量选择名词。
例如: Graphics
方法的命名( 首字母小写, 字母开头大写) :
方法的名字的第一个单词应以小写字母作为开头, 后面的单词则用大写字母开头。
例如: drawImage
常量的命名( 全部大写, 常加下划线) :
常量的名字应该都使用大写字母, 而且指出该常量完整含义。如果一个常量名称由多个单词组成, 则应该用下划线来分割这些单词。
例如: MAX_VALUE
18 参数的命名
参数的命名规范和方法的命名规范相同, 而且为了避免阅读程序时造成迷惑, 请在尽量保证参数名称为一个单词的情况下使参数的命名尽可能明确。
19 Javadoc注释
Java除了能够采用我们常见的注释方式之外, Java语言规范还定义了一种特殊的注释, 也就是我们所说的Javadoc注释, 它是用来记录我们代码中的API的。Javadoc注释是一种多行注释, 以/**开头, 而以*/结束, 注释能够包含一些HTML标记符和专门的关键词。使用Javadoc注释的好处是编写的注释能够被自动转为在线文档, 省去了单独编写程序文档的麻烦。
例如:
/**
*This is an example of
*Javadoc
*@author darchon
*@version 0.1, 10/11/
*/
在每个程序的开始部分, 一般都用Javadoc注释对程序的总体描述及版权信息, 然后在主程序中能够为每个类、 接口、 方法、 字段添加Javadoc注释, 每个注释的开头部分先用一句话概括该类、 接口、 方法、 字段所完成的功能, 这句话应单独占据一行以突出其概括作用, 在这句话后面能够跟随更加详细的描述段落。在描述性段落之后还能够跟随一些以Javadoc注释标签开头的特殊段落, 例如上面例子中的@auther和@version, 这 些段落将在生成文档中以特定方式显示。
20 变量的命名
主要的的命名规范有以下三种:
Camel标记法: 首字母是小写的,接下来的单词都以大写字母开头;
Pascal标记法: 首字母是大写的,接下来的单词都以大写字母开头;
匈牙利标记法: 在以Pascal标记法的变量前附加小写序列说明该变量的类型。
在Java我们一般使用匈牙利标记法, 基本结构为scope_typeVariableName, 它使用1-3字符前缀来表示数据类型, 3个字符的前缀必须小写, 前缀后面是由表意性强的一个单词或多个单词组成的名字, 而且每个单词的首写字母大写, 其它字母小写, 这样保证了对变量名能够进行正确的断句。例如, 定义一个整形变量, 用来记录文档数量: intDocCount, 其中int表明数据类型, 后面为表意的英文名, 每个单词首字母大写。这样, 在一个变量名就能够反映出变量类型和变量所存储的值的意义两方面内容, 这使得代码语句可读性强、 更加容易理解。byte、 int、 char、 long、 float、 double、 boolean和short。
数据类型/前缀(附):
byte/b
char/c
short/sh
int/i
long/l
char/c
string/s
float/f
double/d
hashtable/h
[]/arr
List/lst
Vector/v
StringBuffer/sb
Boolean/b
Byte/bt
Map/map
Object/ob
对于在多个函数内都要使用的全局变量, 在前面再增加”g_”。例如一个全局的字符串变量: g_strUserInfo
在变量命名时要注意以下几点:
●选择有意义的名字, 注意每个单词首字母要大写;
●在一段函数中不使用同一个变量表示前后意义不同的两个数值;
●i、 j、 k等只作为小型循环的循环索引变量;
●避免用Flag来命名状态变量;
●用Is来命名逻辑变量, 如: blnFileIsFound。经过这种给布尔变量肯定形式的命名方式, 使得其它开发人员能够更为清楚的理解布尔变量所代表的意义;
●如果需要的话, 在变量最后附加计算限定词, 如: curSalesSum;
●命名不相包含, curSales和curSalesSum;
●static final变量(常量)的名字应该都大写, 而且指出完整含义;
●如果需要对变量名进行缩写时, 一定要注意整个代码中缩写规则的一致性。例如, 如果在代码的某些区域中使用intCnt, 而在另一些区域中又使用intCount, 就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写;
●经过在结尾处放置一个量词, 就可创立更加统一的变量, 它们更容易理解, 也更容易搜索。例如, 请使用strCustomerFirst和strCustomerLast, 而不要使用strFirstCustomer和strLastCustomer。常见的量词后缀有: First( 一组变量中的第一个) 、 Last( 一组变量中的最后一个) 、 Next( 一组变量中的下一个变量) 、 Prev( 一组变量中的上一个) 、 Cur( 一组变量中的当前变量) ;
●为每个变量选择最佳的数据类型, 这样即能减少对内存的需求量, 加快代码的执行速度, 又会降低出错的可能性。用于变量的数据类型可能会影响该变量进行计算所产生的结果。在这种情况下, 编译器不会产生运行期错误, 它只是迫使该值符合数据类型的要求。这类问题极难查找;
●尽量缩小变量的作用域。如果变量的作用域大于它应有的范围, 变量可继续存在, 而且在不再需要该变量后的很长时间内依然占用资源。它们的主要问题是, 任何类中的任何方法都能对它们进行修改, 而且很难跟踪究竟是何处进行修改的。占用资源是作用域涉及的一个重要问题。对变量来说, 尽量缩小作用域将会对应用程序的可靠性产生巨大的影响。
关于常量的命名方法, 在JAVA代码中, 无论什么时候, 均提倡应用常量取代数字、 固定字符串。也就是说, 程序中除0、 1以外, 尽量不应该出现其它数字。常量能够集中在程序开始部分定义或者更宽的作用域内, 名字应该都使用大写字母, 而且指出该常量完整含义。如果一个常量名称由多个单词组成, 则应该用下划线”_”来分割这些单词如: NUM_DAYS_IN_WEEK、 MAX_VALUE。
展开阅读全文