文档章节

Koala编码规范

小咔蹭
 小咔蹭
发布于 2014/10/10 18:33
字数 834
阅读 665
收藏 5

Koala编码规范

1 前言

本文档是Koala项目编程风格规范的完整定义,项目模块源文件必须符合本文档设定的规则。
与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。

2 源文件

2.1 文件编码:UTF-8
2.2 命名:大写字母开头,驼峰式,只允许英文
2.3 文件结构按照顺序如下表所示:
    元素 要求
    1,许可证或版权信息
    2,package语句 package语句不换行
    3,import语句 不能使用通配符
    4,一个顶级类
     注:以上每个元素之间用一个空行隔开。


2.4 约定:
  • 代码必须格式化
  • 不能出现黄色提示
  • 类、方法必须写注释
  • 类和方法级的说明需要句号,参数和返回就不需要(示例如下表)
  • 代码保持清洁(不能留用//注释的代码等)
示例
/**
 * 抽象实体类,可作为所有领域实体的基类。
 *
 * @author yang
 *
 */
@MappedSuperclass
public abstract class BaseEntity implements Entity {


/**
     * 获取仓储对象实例。如果尚未拥有仓储实例则通过InstanceFactory向IoC容器获取一个。
     * @return 仓储对象实例
     */
    public static EntityRepository getRepository() {
        if (repository == null) {
            repository =
 InstanceFactory.getInstance(EntityRepository.class);
        }
        return repository;
    }


}



3 命名规范

命名的关键要素是简短、意图清晰,遵守下面表格规则:

          元素         要求                                                               示例
  1. 项目模块 只能使用小写字母和中划线,以中划线分割单词 koala-security-core
  2. 包 只能使用小写字母 org.openkoala.security.core.domain
  3. 类 只能使用大小写字母,大驼峰式 EntityRepository.java
  4. 字段 只能使用大小写字母和下划线,小驼峰式 private String userAccount
  5. 方法 只能使用大小写字母,小驼峰式 findChildrenOfOrganization
  6. URL 只能使用小写字母和中划线 employee/get-posts-by-employee.koala
  7. JS、CSS、JSP 只能英文、数字和中划线 

4 模块约定

4.1领域层

Ø 包命名格式xxx.xxx.core.domain,例org.openkoala.security.core.domain
Ø 异常类放在xxx.xxx.core下,以xxxException结尾,必须是RuntimeException的子类
Ø JPA实体表、列名必须大写,以下划线分割,其中表名需是复数(例:KO_ACCOUNTABILITIES)
Ø JPA实体内容编写顺序,字段->构造函数->方法(动->静)->业务主键->属性
Ø 查询方法实现使用命名查询和CriteriaQuery查询对象,简单查询使用CriteriaQuery实现较快
Ø JPA实体的方法必须编写相对应的单元测试,并且有较高的覆盖率

4.2应用层

Ø 包命名格式xxx.xxx.application,例org.openkoala.security.application
Ø 接口必须编写详细的注释
Ø 接口方法必须编写相对应的单元测试,并且有较高的覆盖率

4.3门面层

Ø 包含façade接口和DTO对象
Ø 包命名格式xxx.xxx.facade,例org.openkoala.security.facade
                     xxx.xxx.facade.dto,例org.openkoala.security.facade.dto
Ø 命令接口返回InvokeResult对象,查询接口返回Page对象,获取数据接口直接返回
Ø pom文件不能有任何技术依赖

4.4门面实现层

Ø 包含façade接口实现和assembler装配器
Ø 包命名格式xxx.xxx.facade.impl,例org.openkoala.security.facade.impl
xxx.xxx.facade.impl.assembler,例org.openkoala.security.facade.impl.assembler
Ø Assembler类必须包含toEntity和toDTO方法,方法必须有对参数的不为空判断


© 著作权归作者所有

小咔蹭

小咔蹭

粉丝 44
博文 32
码字总数 17138
作品 0
广州
程序员
私信 提问
加载中

评论(1)

摸鱼
摸鱼
你好,现在koala的maven仓库关掉了,一些jar包下不了,环境都搭建不起来,你能不能把依赖的jar发一下给我啊,朋友,谢谢,我邮箱244642836@qq.com,感激不尽
Less

导语:最近在网上看到一款前端预处理器语言图形编译工具koala,支持Less、Sass、Compass、CoffeeScript,帮助web开发者更高效地使用它们进行开发。跨平台运行,完美兼容windows、linux、mac...

大仁孙
2016/07/22
7
0
找不到Organization.java,Employee.java类

@Koala_考拉 你好,想跟你请教个问题: 按照DOC3教程生成的项目,已经编译通过可运行, 但是在进行到该教程3.3.1中1.2时,发现找不到Organization.java,Employee.java类。 3.3.1 JPA开发规范...

freeusall
2014/04/15
193
1
开放持续集成平台--OpenCI

OpenCI 提供项目向导式创建、导入,集成版本控制(GIT/SVN)、项目管理(Trac/Redmine)、代码质量(Sonar)、持续集成(Jenkins)等工具,用于规范化项目管理。 为什么使用OpenCI: 向导式创建、导入...

Koala_考拉
2014/05/04
4.5K
1
koala-security中如何使用mybaits

看到在koala-security/koala-security-applicationImpl/src/main/resources/META-INF/spring/security-mybatis-shared-context.xml 有这个文件,我想用mybatis实现将koala的user,role,res......

jiangma
2014/02/21
146
1
重头捡起JAVA,正在学Koala,问题好多,求指点?

@Koala_考拉 你好,想跟你请教个问题: 正在按照Koala 的WiKi进行学习,貌似一些向导界面和我的版本不太一致啊! 我是从http://wiki.openkoala.org/pages/viewpage.action?pageId=5537865下载...

城头的土人
2014/05/12
668
5

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
昨天
3
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
2
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部