Html,CSS编码规范: https://codeguide.bootcss.com/
规则:
常用词 | 说明 |
---|---|
header/footer/box/nav | pafweblib或其他子系统中已有的模块名,业务中需要使用类似的模块,请保存一致 |
head/title/text/more、container/content | 头/标题/其他文字/更多描述 、容器/内容 |
main/sub | 主部份/此部分 |
list/item | 列表/分项 |
hover/current/disabled/focus/blur | 常用的元素状态,不要相类似的其他关键词: active, selected 等 |
success/info/warn/error | 提示信息状态 |
常用词 | 说明 |
---|---|
options | 表示配置,与 jQuery 社区保持一致,不要用 config, opts 等 |
index | 表示索引,不要用 idx 等 |
trigger | 触点元素 |
triggerType | 触发类型、方式 |
context | 表示传入的 this 对象 |
object | 推荐写全,不推荐简写为 o, obj 等 |
element | 推荐写全,不推荐简写为 el, elem 等 |
length | 不要写成 len, l |
prev | previous 的缩写 |
constructor | 不能写成 ctor |
easing | 表示动画平滑函数 |
min | minimize 的缩写 |
max | maximize 的缩写 |
DOM | 不要写成 dom, Dom |
.tpl | 使用 tpl 后缀表示模版 |
btn | button 的缩写 |
代码格式化 为保持公司代码格式的一致性,在开发前,需导入统一代码格式化模板。 http://192.168.0.111/pinganfu/paff/doc/training/PAFCodeFormatter.xml 在每次代码提交之前进行代码Format操作(Ctrl+Shift+F). 除为了保代码风格一致性之外,避免在提交后在SVN上产生代码冲突、减少人工合并代码 成本,以及防止因代码格式问题产生的BUG。
字符集都用UTF-8 修改字符集: - Preferences -> General -> Workspace - 修改成UTF-8 - Preferences -> General -> Content Types 检查 CSS JS HTML文件 是不是有设置成其他字符集,有的话 改成空 或者UTF-8 - Preferences -> Web -> CSS Files(HTML Files/JSP Files..) 都改成UTF-8 修改字体大小: Preferences -> General -> Apperance -> Colors and fonts
提交代码 任何文件在提交SVN之前,必须先从SVN中进行更新,以便发现本地文件与服务器文件之间不兼容的代码和变更冲突。 如果发生文件冲突,找相关人员确认,手工合并之后进行提交,禁止强制对文件进行冲突覆盖。 在提交代码之前,在Eclipse中检查是否有warning产生,需要对产生的warning进行处理。 补充:如果是没办法处理的,别用@suppresswarning,尽量保留warning,以便以后修复
无用代码清理 在提交至SVN之前,需要对代码中没有用到的方法、变量、类、配置文件进行清理,对于注释掉的方法,理论上需要进行清除。 设置行长度 window->preferences->java->code style->formatter->edit->line wrapping->maximum line width 设置为120 自动去掉不必要的import preferences -> java ->editor ->save actions: check "organize imports"
设置缩进时用空格 Preference -> General ->Editors ->Text Edtiors ( Display tab width: 2, 选中 Insert spaces for tab) 设置这个之后,选中你要自动格式化的html文件内容,用control + shift + F 就能让内容自动缩进得很好。 Preference -> Java -> Code Style -> Formatter (点按钮:Edit, Indentation下面, Tab policy: Space Only, Indentation size: 4, Tab size: 4 然后给profile重新起个名字:PingAnFuWebJavaProfile 点击保存。 设置这个之后,选中你要自动格式化的java文件内容,用control + shift + F 就能让内容自动缩进得很好。 另外aptana内置很多个编辑器:css,js,php,ruby,python,php 自己按照需要去找需要用到的编辑器的formatter,然后把缩 进:Indentation改成space only 并设置为2就行了。 你可以看到你打开的每个文件所用的编辑器,然后找到对应的去设置一下 (如果有需要的话)
日志打印通道
所有日志必须通过Logger打印,禁止通过System或者Throwable的printStackTrace的方式进行日志输出。 对于有堆栈信息的日志打印,需要对堆栈信息进行打印,以便对错误信息的定位。 业务日志:提供多维度的日志查询机制。在打印日志的过程中,需要进行多维度的日志打印机制,包括订单ID,用户ID等,方便线上日志的跟踪。
日志级别选择
日志等级选择:Debug级别日志,只对开发过程中对步骤的跟踪,线上不配置该级别日志。Info级别,对于流程信息、接口调用信息、关键步骤信息等,需要打印Info级别的日志文件中。Warn级别日志,打印由于业务异常产生的日志信息,信息中,需要包含异常业务的业务数据,方便线上日志排查。Error日志级别,打印因为系统异常出现的异常情况,例如,接口调用超时、空指针异常等。该级别的日志,需要带有堆栈信息,以及业务数据。
接口命名规范 接口命名采用服务名+Service的模式进行命名。 如用户服务接口命名方式为CustomerService.java 对其实现类采用接口名+Impl模式,及用户服务实现为:CustomerServiceImpl.java
类命名规范 类的命名,采用首字母大写,每个单词的首字母大写的方式组合,需要尽可能的通过命名表现出类的作用, 命名中,禁止出现字符如”_”,”-”等,禁止采用拼音。 常量类 采用Constant作为后缀 CustomerConstant.class, OPSConstant.class 工具类 采用Util作为后缀 CustomerUtil.class 枚举类 采用Enum作为后缀 CustomerEmum.class 请求处理类 采用Action作为后缀 CustomerQueryAction.class Controller.java
资源文件、配置文件命名规范 对资源文件、配置文件采用首字母小写,其余单词的首字母大写,搭配”-”的命名方式。 如,对于spring的配置文件 spring-jms.xml
页面文件命名规范 页面,如jsp,ftl等类型,采用首字母小写,其余单词首字母大写的方式进行命名,禁止出现“_”等字符。 如用户查询页面:customerQuery.jsp
当你在比对一个变量值与一个CONSTANT的时候,尽量把CONSTANT放在左手边,
if ( 1 == one ) {...} // 如果打错了 if ( 1 = one ) {...} // 这就会抛错,可以用这个方法避免这种逻辑错误
controller尽量不拼req/res 在controller里面尽量不要出现 service的request, 而且通过传递参数:某一些字段,或者是整个form.
传递参数尽量少为原则 一个方法的参数尽量不能超过5个。 我以前看到过有超过255个参数的方法,那个超过3000多行的代码再也没有人改过,该不动了。)
声明常量需大写每个字母 比如 String EMPTY_NAME = “empty“; 选中按 control + shift +X 能自动放你大写所有字母。
提交代码时必须写comments 简单说明你为什么checkin 比 checkin了什么东西 要好很多
尽量用ValueOf 代替toString
变量申明的时候,尽量是在最近要开始使用的地方。当然该写成类变量的还是要写成类变量,该是局部变量的还是要写局部变量。局部变量的生存周期,当然是尽量短为宜。
equals的方法,把肯定不会为null,或更大可能性不为null的字段放在equals前面,比如常量肯定不会是null. (这样写的代码自然robust) 比如 morgan.getName().equals(“Morgan”); 要改成 (“Morgan”).equals(morgan.getName());
在controller里面尽量不要出现 service的request, 而且通过传递参数:某一些字段,或者是整个form. (传递参数尽量少为原则) 一个方法的参数尽量不能超过5个。 我以前看到过有超过255个参数的方法,那个超过3000多行的代码再也没有人改过,该不动了。)
比如 String EMPTY_NAME = “empty“; 选中按 control + shift +X 能自动放你大写所有字母。
简单说明你为什么checkin » checkin了什么东西