一、编码规范
例如:表名 :jeecg_sys_demo
首先:表名采用驼峰写法转换为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
[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代码提交规范
//update-begin--Author:zhangdaihao Date:20180101 for:[bugfree号]树机构调整--------------------
//update-end--Author:zhangdaihao Date:20180101 for:[bugfree号]树机构调整----------------------
[author:用户名 date:20130203 for:(bugfree号码)增加查询条件,组织机构]
代码修改日志 :/jeecg-framework/doc/日志/代码修改日志.log
数据库修改日志:/jeecg-framework/doc/日志/DB修改日志.log
进入eclipse设置页面,过滤编译文件svn提交
Team->Ignored Resources点击Add Pattern,分别输入以下内容,并使其保持选中状态
.classpath
.project
.settings
*.class
target
先同步对比代码,项目右键: Team -> 与服务器同步,三个方向看本地修改、服务器修改,冲突代码。
三、Eclipse使用设置与技巧
General->Workspace->Text file encoding修改为UTF-8,
New text file line delimiter 修改为Unix
Validation->取消所有选项,只保留classpath dependency validator校验
Javascript->VIlidator->Errors/Warning 将Enable javascript semantic validation选项勾掉
如果还有错,把js文件拷贝到其他目录,删除出错的js文件后再拷贝回来,可以去掉错误提示
Window->Show View->输入package explorer,选中并点击确定,然后拖动到面板左侧替换Project Explorer
Java->Code style->Code template 点击Import codetemplates.xml
首先,需要加载指定的代码模板,打开Code Templates后选择Comments,再点击Import,将jsecode_eclipse_codetemplates.xml模板导入。
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>
五、性能与安全
不要使用如下String 初始化方法:
String str = new String(“abcdef”);
这将产生两个对象,应当直接赋值:
String str = “abcdef”;
在处理可变String 的时候要尽量使用StringBuffer 类,StringBuffer 类是构成String 类的基础。String 类将StringBuffer 类封装了起来,(以花费更多时间为代价)为开发人员提供了一个安全的接口。当我们在构造字符串的时候,我们应该用StringBuffer 来实现大部分的工作,当工作完成后将StringBuffer 对象再转换为需要的String 对象。比如:如果有一个字符串必须不断地在其后添加许多字符来完成构造,那么我们应该使用StringBuffer 对象和她的append() 方法。如果我们用String 对象代替StringBuffer 对象的话,将会花费许多不必要的创建和释放对象的CPU 时间。
避免在循环中频繁构建和释放对象。
不再使用的对象应及时销毁。
如无必要,不要序列化对象
在不需要同步操作时避免使用同步操作类,如能使用ArrayList 时不要使用Vector。
尽量少用同步方法,避免使用太多的synchronized 关键字。
尽量将同步最小化,即将同步作用到最需要的地方,避免大块的同步块或方法等。
将参数或方法声明成final 可提高程序响应效率,故此:
注意绝对不要仅因为性能而将类、方法等声明成final,声明成final 的类、方法一定要确信不再被继承或重载!
不需要重新赋值的变量(包括类变量、实例变量、局部变量)声明成final。
所有方法参数声明成final。
私有(private)方法不需要声明成final。
若方法确定不会被继承,则声明成final。
不要过分依赖JVM 的垃圾收集机制,因为你无法预测和知道JVM 在什么时候运行GC。尽可能早的释放资源,不再使用的资源请立即释放。
可能有异常的操作时必须在try 的finally 块中释放资源,如数据库连接、IO 操作等。
六、基本规范
- 代码中不能使用System.out.println(),e.printStackTrace(),必须使用logger 打印信息。
- 新写的代码,提交前必须格式化ctr+shif+f
- 修改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}"}