员工入职开发规范文档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 -> 与服务器同步,三个方向看本地修改、服务器修改,冲突代码。  ###三、Eclipse使用设置与技巧 ####1.进入eclipse设置页面,修改工作区编码 General->Workspace->Text file encoding修改为UTF-8, New text file line delimiter 修改为Unix  ####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模板导入。  ####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}"} ``` 