员工入职开发规范文档V1.0
===
**目录索引:**
- 编码规范
- SVN代码提交规范
- Eclipse使用设置与技巧
- Maven镜像配置
- 性能与安全
- 基本规范
### 一、编码规范
例如:表名 :jeecg_sys_demo
#### 1.代码文件命名规则
首先:表名采用驼峰写法转换为Java代码使用单词 jeecg_sys_demo => JeecgSysDemo
[1].control命名 :JeecgSysDemoControl
[2].Servlice命名:JeecgSysDemoServiceI/JeecgSysDemoServiceImpl
[3].JSP命名 :jeecg-sys-demo.jsp(表单页面)
jeecg-sys-demo-list.jsp(列表页面)
jeecg-sys-demo-*.jsp(新增表单页面 例如:detail)
[4].control中方法命名:
页面触发业务方法以do*开头
页面跳转方法以go*开头
(方法标签注释需和方法名保持一致)
[5].page/entity字段定义必须是对象类型
int --> Integer
#### 2.代码注释规范
[1].代码存在缺陷或者留有功能点的代码,采用以下方式进行标示
//TODO author:zhangdaihao for:插入未完成 date:20130711
[2].系统已有代码的修改采用以下注释
//----------------------------------------------------------------
//update-begin--Author:zhangdaihao Date:20130205 for:[bugfree号]树机构调整
//update-end--Author:zhangdaihao Date:20130205 for:[bugfree号]树机构调整
//----------------------------------------------------------------
[3].业务逻辑注释
a.方法注释 参入传出参数注释说明 ctr+shift+J
### 二、SVN代码提交规范
#### 1.代码修改注释
//update-begin--Author:zhangdaihao Date:20180101 for:[bugfree号]树机构调整--------------------
//update-end--Author:zhangdaihao Date:20180101 for:[bugfree号]树机构调整----------------------
#### 2.SVN提交注释
[author:用户名 date:20130203 for:(bugfree号码)增加查询条件,组织机构]
#### 3.修改文件记录
代码修改日志 :/jeecg-framework/doc/日志/代码修改日志.log
数据库修改日志:/jeecg-framework/doc/日志/DB修改日志.log
#### 4.SVN忽略不提交的文件配置
进入eclipse设置页面,过滤编译文件svn提交
Team->Ignored Resources点击Add Pattern,分别输入以下内容,并使其保持选中状态
.classpath
.project
.settings
*.class
target
#### 5.svn提交避免冲突,先同步
先同步对比代码,项目右键: Team -> 与服务器同步,三个方向看本地修改、服务器修改,冲突代码。
![](https://img.kancloud.cn/52/87/528775b17a886e36596e744e287e2f90_907x644.png)
### 三、Eclipse使用设置与技巧
#### 1.进入eclipse设置页面,修改工作区编码
General->Workspace->Text file encoding修改为UTF-8,
New text file line delimiter 修改为Unix
![](https://img.kancloud.cn/c9/c1/c9c1b2f416f2b01e0015dd2e7efdf803_693x396.png)
#### 2.进入eclipse设置页面,取消js验证
Validation->取消所有选项,只保留classpath dependency validator校验
Javascript->VIlidator->Errors/Warning 将Enable javascript semantic validation选项勾掉
如果还有错,把js文件拷贝到其他目录,删除出错的js文件后再拷贝回来,可以去掉错误提示
#### 3.设置package explorer视图
Window->Show View->输入package explorer,选中并点击确定,然后拖动到面板左侧替换Project Explorer
#### 4.导入自定义代码注释模板
Java->Code style->Code template 点击Import codetemplates.xml
首先,需要加载指定的代码模板,打开Code Templates后选择Comments,再点击Import,将jsecode_eclipse_codetemplates.xml模板导入。
![](https://img.kancloud.cn/2a/fa/2afaf50d9a0a94f2f185069289d2b438_693x487.png)
#### 5.常用快捷键
Alt+/ 代码提示与补全,例如输入syso后按此快捷键
Ctrl+/ 单行注释,取消单行注释
Ctrl+Shift+/ 多行注释
Ctrl+Shift+\ 取消多行注释
Ctrl+Shift+o 导入package,删除多余的package
Ctrl+Shift+f 格式化代码(对于大段代码不要使用)
Alt+Shift+S 源码操作快捷菜单
Ctrl+e 切换tab
Ctrl+o 快速定位类内方法
Ctrl+t 查看继承关系,选中接口名称按此快捷键
Ctrl+Shift+r 快速定位资源包括xml文件,properties等
Ctrl+Shift+t 快速定位类文件
### 四、Maven镜像配置
````
找到 maven老家 conf/settings.xml,
在<mirrors>标签内增加阿里云maven镜像 最终结果见下面:
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
````
### 五、性能与安全
#### 1.String 与StringBugffer
````
不要使用如下String 初始化方法:
String str = new String(“abcdef”);
这将产生两个对象,应当直接赋值:
String str = “abcdef”;
在处理可变String 的时候要尽量使用StringBuffer 类,StringBuffer 类是构成String 类的基础。String 类将StringBuffer 类封装了起来,(以花费更多时间为代价)为开发人员提供了一个安全的接口。当我们在构造字符串的时候,我们应该用StringBuffer 来实现大部分的工作,当工作完成后将StringBuffer 对象再转换为需要的String 对象。比如:如果有一个字符串必须不断地在其后添加许多字符来完成构造,那么我们应该使用StringBuffer 对象和她的append() 方法。如果我们用String 对象代替StringBuffer 对象的话,将会花费许多不必要的创建和释放对象的CPU 时间。
````
#### 2.对象使用
````
避免在循环中频繁构建和释放对象。
不再使用的对象应及时销毁。
如无必要,不要序列化对象
````
#### 3.同步
````
在不需要同步操作时避免使用同步操作类,如能使用ArrayList 时不要使用Vector。
尽量少用同步方法,避免使用太多的synchronized 关键字。
尽量将同步最小化,即将同步作用到最需要的地方,避免大块的同步块或方法等。
````
#### 4.final
````
将参数或方法声明成final 可提高程序响应效率,故此:
注意绝对不要仅因为性能而将类、方法等声明成final,声明成final 的类、方法一定要确信不再被继承或重载!
不需要重新赋值的变量(包括类变量、实例变量、局部变量)声明成final。
所有方法参数声明成final。
私有(private)方法不需要声明成final。
若方法确定不会被继承,则声明成final。
````
#### 5.垃圾收集和资源释放
````
不要过分依赖JVM 的垃圾收集机制,因为你无法预测和知道JVM 在什么时候运行GC。尽可能早的释放资源,不再使用的资源请立即释放。
可能有异常的操作时必须在try 的finally 块中释放资源,如数据库连接、IO 操作等。
````
### 六、基本规范
1. 代码中不能使用System.out.println(),e.printStackTrace(),必须使用logger 打印信息。
2. 新写的代码,提交前必须格式化ctr+shif+f
3. 修改eclipse默认换行长度
打开Eclipse的Window菜单,然后
Preferences->Java->Code Style->Formatter->Edit ->Line Wrapping->Maximum line width:默认80
加个0,改成800就行了
4.eclipse中自定义类的toString模版生成Json字符串
```
{"${member.name()}":"${member.value}","${otherMembers}"}
```
![](https://img.kancloud.cn/cc/5f/cc5f8203d9c52889976d049521dff02f_515x591.png)
- 总体介绍
- 快速了解
- 平台优势
- 技术支持
- 社区荣誉
- 开发环境准备
- JEECG私服Maven
- 代码结构说明
- 入门开发环境搭建
- 开发工具
- 代码生成器使用
- GUI代码生成器
- Online代码生成器
- P3插件代码生成器
- 代码生成器配置
- 功能介绍
- 权限开发手册
- Online开发权限
- Online表单访问规则
- 列表按钮权限控制
- 列表数据权限控制
- 页面表单权限控制(一对多表)
- 页面表单权限控制(单表)
- 其他
- 二级管理员手册
- 接口权限配置
- 平台权限设计总览
- 编码开发方式
- 列表按钮权限用法
- 列表数据权限用法
- 数据权限自定义SQL
- 表单权限用法
- UI标签库文档
- AuthFilter(页面权限标签)
- Autocomplete(自动补全标签)
- BaseTag(样式和JS引入标签)
- Choose(弹出选择标签)
- ComboTree(下拉树形选择框)
- Datagrid(数据列表标签)
- DepartSelectTag(部门树选择标签)
- DictSelect(数据字典下拉选择框)
- FormValidation(表单提交及验证标签)
- HasPermissionTag(页面权限标签)
- Menu(左侧菜单生成标签)
- MutiLang(国际化标签)
- OrgSelectTag(部门树列表选择标签)
- SelectZTree(Ztree树控件)
- Tabs(选项卡父标签)
- TreeSelectTag树分类标签
- Upload(上传标签)
- UserSelectTag(用户选择标签)
- WebUploader(上传标签)
- 查询构造器
- 查询过滤器
- 高级查询构造器
- 专题功能介绍
- 国际化使用
- 多数据源使用
- 定时任务
- 平台JWT接口文档
- 消息中心
- Online在线开发
- Online二次开发
- Online代码生成
- Online唯一性校验配置
- Online查询机制(数据权限)
- Online树形表单配置
- Online表单填值规则
- Online表单对外接口
- Online表单控件
- Online表单配置
- Online表单高级应用
- Online报表开发
- Online图形报表配置
- Online数据报表配置
- Online移动报表配置
- 自定义表单设计
- 自定义表单权限
- 列表空间权限控制
- 功能介绍
- 常规控件权限控制
- 自定义表单配置
- 自定义表单二次开发
- 自定义表单控件
- 自定义表单数据源
- 自定义表单模板
- 自定义表单配置
- 自定义表单高级应用
- 表单数据维护
- 附录小技巧
- datagrid扩展属性用法
- Formvalid新增属性tiptype的使用
- JEECG单点集成文档
- Jeecg定时任务开发
- JEECG常见问题贴
- Redis与Ehcache切换文档
- Toolbar自定义js参数规则
- UI标签规则
- 列表多表头的设计
- 列表拓展字段展示
- 列表自定义查询条件
- 员工入职开发规范文档V1.0
- 数据列表合计功能
- 登录权限拦截器排除方法
- 组织机构导入功能使用说明
- 表单字段重复校验方法
- JEECG新技术
- 新版UI技术方案