开发规范(JAVA部分)
? 普通类的属性命名
普通类的属性命名除常量依照常量命名法外,其他的属性的名字使用“英文名字(首字母大写)”命名,多单词可使用驼峰命名法或用下划线隔开。
2.2.3 注释约定
本文还会对注释进行约定,相关注释风格可以在eclipse中导入codetemplates.xm文件。以下是几个基本点: ? 注释应该增加代码的清晰度
代码注释的目的是要使代码更易于被同时参与程序设计的开发人员以及其他后继开发人员理解。
? 如果你的程序不值得注释,那么它也很可能也不值得运行 。 ? 保持注释的简洁
最好的注释应该是简单明了的注释。注释不必洋洋洒洒,只需提供足够的信息,使别人能够理解你的代码。 ? 先写注释,后写代码
写代码注释的最好方法是在写代码之前就写注释。这使你在写代码之前可以想想代码的功能和运行。而且这样确保不会遗漏注释。另一种方法是边写代码边写注释。因为注释可以使代码更易理解,所以在程序开发的过程中,也可以利用这一点。如果打算花些时间写注释,那么至少你应从这个过程中获得些什么。 ? 注释信息不仅要包括代码的功能,还应给出原因
例如,下面例1中的代码显示金额在 $1,000 以上(包括 $1,000)的定单可给予 5% 的折扣。为什么要这样做呢?难道有一个商业法则规定大额定单可以得到折扣吗?这种给大额定单的特殊是有时限的呢,还是一直都这样?最初的程序设计者是否只是由于慷慨大度才这样做呢?除非它们在某个地方(或者是在源代码本身,或者是在一个外部文档里)被注释出来,否则你不可能知道这些。
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 10 页 共 40 页
开发规范(JAVA部分)
2.2.4 快速浏览JavaDoc
Sun 公司的 Java Development Kit (JDK) 中有一个名为 javadoc 的程序。它可以处理 Java 的源代码文件,并且为 Java 程序产生 HTML 文件形式的外部注释文档。Javadoc 支持一定数目的标记,标识注释文档中各段起始位置的保留字。详情请参考 JDK javadoc 文档。
标记 @author name 用于 类、接口 目的 说明特定某一段程序代码的作者。每一个作者各有一个标记。 说明该类的应用程序编程接口 (API) 已被废弃,因此应不再使用。 说明由成员函数发出的异常。一个异常采用一个标记,并要给出异常的完整类名。 用来说明传递给一个成员函数的参数,其中包成员函数 括参数的类型/类和用法。每个参数各有一个标记。 若成员函数有返回值,对该返回值进行说明。应说明返回值的类型/类和可能的用途。 @since 类、成员函数 说明自从有 JDK 1.1 以来,该项已存在了多长时间。 @see ClassName @see ClassName#member functionName @version text 类、接口 说明特定一段代码的版本信息。 类、接口、成员函数、字段 类、接口、成员函数、字段 在文档中生成指向特定类的超文本链接。可以并且应该采用完全合法的类名。 在文档中生成指向特定成员函数的超文本链接。可以并且应该采用完全合法的类名。 @deprecated @exception description name 类、成员函数。 成员函数 @param description name @return description 成员函数 你注释代码的方式很大地影响着你的工作效率以及所有维护改进代码的后继开发者的工作效率。在软件开发过程中及早注释代码,会促使你在开始撰写代码之前仔细考虑这些代码,从而带来更高的工作效率。而且,当你重新阅读数天前或者数星期前所写的代码时,
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 11 页 共 40 页
开发规范(JAVA部分)
你可以很容易地判断出当时你是怎么想的,因为这一切都有记录。
2.3 开发规范
2.3.1 项目结构说明
数据中心 FDC项目采用多module式项目结构,其中包含如下项目,各项目模块功能说明如下: 父模块 FDC FDC FDC 模块 Fdc-common Fdc-monitor Fdc-compute 依赖模块 none Fdc-common Fdc-monitor, Fdc-common FDC Fdc-report Fdc-monitor, Fdc-common
主要业务功能描述 提供FDC项目中公用框架包及公用工具包 提供FDC项目中监控告警功能 提供FDC项目中核心数据运算功能(包括ETL,汇总,分发)。 提供FDC项 目中数据展现功能(报表展现,短信、邮件展现,数据导出等) 2.3.2 整体包结构说
包结构整体遵循按功能不同分包,主要体现出平台的整体架构。 1.常用的包结构如2.3.2常用包结构及命名。
2.各个模块包结构,如业务层,控制层,持久层,异常,模型POJO,常量类,工具类等。
这里的常用类和公共里的不一样如果各大模块在公共类里没有找到,可以在自己的模块中自行扩展。达到遵循“开—闭”原则。 3.常用xml配置文件结构,如2.3.4配置文件包结构。
4.平台核心的配置文件,存放在包的根目录,如国际化,数据库连接,日志配置,缓存
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 12 页 共 40 页
开发规范(JAVA部分)
配置,系统级配置等。
5.自定义xml的scheme,dtd,以及tld文件存放于Web根目录的WEB-INF文件夹
下,文件名全部使用小写字母。
2.3.3 项目模块包结构及命名
1. Fdc-common
? com.feinno.fdc.common.cache
说明:所有的缓存结构。例如平台所使用的Oscache和Ehcache缓存技术。 ? com.feinno.fdc.common.framework 说明:各个技术层框架类。如下子包 controller:控制层提供的共有框架类。
Module:数据bean公共基础类。
Business:业务层公共业务控制类,提供通用功能。 Persistence:数据持久层公共数据操作类。
? com.feinno.fdc.common.utils
说明:存放基本常用的类。例如文件类,字符串类等。
2. Fdc-moniter , Fdc-compute, Fdc-report
? configs
说明:该包存放所有关于读取配置信息的类 ? Controller
说明:存放在控制层下面的业务类。例如登陆,登出,角色切换等。 ? Module
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 13 页 共 40 页
开发规范(JAVA部分)
说明:存放各个业务数据bean类。下分各个子业务包。 ? Busines
说明:存放个业务层公共业务控制类。下分各个子业务包。 ? Persistence
说明:数据持久层数据控制类。下分各个子业务包。 ? extends
说明:平台扩展功能类。下分子包,第一级子包名表示扩展功能模块名。
? Exceptions
2.3.4 各子项目模块功能包结构
按照各个层次结构包分完:功能包基本分为2个包: 1. 各个层次的接口包。 2. 对于接口的实现包。
2.3.5 配置文件包结构
配置文件夹命名为configs,可存放在Web根目录下的WEB-INF文件夹下,也可放在与java class文件根目录同级的目录下。configs目录下主要包含以下目录结构:
? commons
存放公共的Xml配置文件,如:struts,spring,mybatis等的xml配置文件。 ? core/*
存放平台核心模块,各功能模块,扩展功能模块的所需的配置文件。如各模块的spring,struts,mybatis配置文件。
本文档仅限内部使用,未经双方许可,请勿扩散到第三方。
第 14 页 共 40 页