Html,CSS编码规范: https://codeguide.bootcss.com/ ====== 常用词命名统一表 ====== 规则: - **可读性强,见名知义。** - 尽量写全。不用缩写,除非是下面列表中约定的。 ==== css 类名关键词表 ==== ^ 常用词 ^ 说明 ^ | 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| 提示信息状态 | ==== javascript 表 ==== ^ 常用词 ^ 说明 ^ | 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的时候,尽量把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时常量放在前面 ===== equals的方法,把肯定不会为null,或更大可能性不为null的字段放在equals前面,比如常量肯定不会是null. (这样写的代码自然robust) 比如 morgan.getName().equals("Morgan"); 要改成 ("Morgan").equals(morgan.getName()); ===== controller尽量不拼req/res ===== 在controller里面尽量不要出现 service的request, 而且通过传递参数:某一些字段,或者是整个form. (传递参数尽量少为原则) 一个方法的参数尽量不能超过5个。 我以前看到过有超过255个参数的方法,那个超过3000多行的代码再也没有人改过,该不动了。) ===== 声明常量需大写每个字母 ===== 比如 String EMPTY_NAME = “empty“; 选中按 control + shift +X 能自动放你大写所有字母。 ===== commit必须写comments ===== 简单说明你为什么checkin >> checkin了什么东西