团队开发之:代码规范说明
1.1 目的
为了提高代码的可读性和质量,本文档针对Java编码规范详细设计说明。
1.2 范围
1.3 术语
1.4 参考文档
2.标示符命名规范
2.1 原则
尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免拼音与英文混用。比如表示归档,用archive比较好。
2.2 包名规范
l 使用小写和数字组合,不要出现其他字符和符号。例如:com.aps.alg
2.3 类名命名规范
后缀名 |
意义 |
举例 |
EJB |
表示这个类为EJB类 |
LCIssueInfoManagerEJB |
Service |
表明这个类是个服务类,里面包含了给其他类提同业务服务的方法 |
PaymentOrderService |
Impl |
这个类是一个实现类,而不是接口 |
PaymentOrderServiceImpl |
Inter |
这个类是一个接口 |
LifeCycleInter |
Dao |
这个类封装了数据访问方法 |
PaymentOrderDao |
Action |
直接处理页面请求,管理页面逻辑了类 |
UpdateOrderListAction |
Listener |
响应某种事件的类 |
PaymentSuccessListener |
Event |
这个类代表了某种事件 |
PaymentSuccessEvent |
Servlet |
一个Servlet |
PaymentCallbackServlet |
Factory |
生成某种对象工厂的类 |
PaymentOrderFactory |
Adapter |
用来连接某种以前不被支持的对象的类 |
DatabaseLogAdapter |
Job |
某种按时间运行的任务 |
PaymentOrderCancelJob |
Wrapper |
这是一个包装类,为了给某个类提供没有的能力 |
SelectableOrderListWrapper |
Bean |
这是一个POJO |
MenuStateBean |
2.4 方法名命名规范
前缀名 |
意义 |
举例 |
create |
创建 |
createOrder() |
delete |
删除 |
deleteOrder() |
add |
创建,暗示新创建的对象属于某个集合 |
addPaidOrder() |
remove |
删除 |
removeOrder() |
init或则initialize |
初始化,暗示会做些诸如获取资源等特殊动作 |
initializeObjectPool |
destroy |
销毁,暗示会做些诸如释放资源的特殊动作 |
destroyObjectPool |
open |
打开 |
openConnection() |
close |
关闭 |
closeConnection()< |
read |
读取 |
readUserName() |
write |
写入 |
writeUserName() |
get |
获得 |
getName() |
set |
设置 |
setName() |
prepare |
准备 |
prepareOrderList() |
copy |
复制 |
copyCustomerList() |
modity |
修改 |
modifyActualTotalAmount() |
calculate |
数值计算 |
calculateCommission() |
do |
执行某个过程或流程 |
doOrderCancelJob() |
dispatch |
判断程序流程转向 |
dispatchUserRequest() |
start |
开始 |
startOrderProcessing() |
stop |
结束 |
stopOrderProcessing() |
send |
发送某个消息或事件 |
sendOrderPaidMessage() |
receive |
接受消息或时间 |
receiveOrderPaidMessgae() |
respond |
响应用户动作 |
responseOrderListItemClicked() |
find |
查找对象 |
findNewSupplier() |
update |
更新对象 |
updateCommission() |
2.5 变量命名规范
public static find String ORDER_PAID_EVENT =“ORDER_PAID_EVENT”;
public enum Events {
ORDER_PAID,
ORDER_CREATED
}
3.排版风格
规则一:程序块采用缩进风格编写,缩进为4个空格位。排版不混合使用空格和TAB键。
规则二:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符,后不应加空格。
(2) 比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格
if(currentTime>= MAX_TIME_VALUE)
(3) "!"、"~"、"++"、"--"等单目操作符前后不加空格
flag= !bIsEmpty; // 非操作"!"与内容之间
(5) if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。
规则三:函数体的开始,类的定义,结构的定义,if、for、do、while、switch及case语句中的程序都应采用缩进方式
规则四:功能相对独立的程序块之间或for、if、do、while、switch等语句前后应加一空行
repssn_ind= ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
repssn_ind= ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
规则五:if、while、for、case、default、do等语句自占一行。
规则六:若语句较长(多于80字符),可分成多行写,划分出的新行要进行适应的缩进,使排版整齐,语句可读。
rect.length= 0 ; rect.width = 0 ;
规则八:类先成员变量,后内部函数接口;关键字public、protected、private依次按照顺序排版。
4.注释规则
*<li>模块名 : LoginController<br />
*<li>文件名 : LoginController.java<br />
*<li>实现功能 : <br /> (说明:该位置需要换行的时候结尾加上<br />,以便生成的文档格式友好)
*<li>----------------------------------------------------------<br />
*<li>2015年12月25日 v0.0.1 changyong创建<br />(说明:该位置需要换行的时候结尾加上<br />,以便生成的文档格式友好)
注:需记录文件内容,让人看注释就可以知道文件的大致内容;修改记录重点节点记录即可。
* 注释测试使用 (说明:该位置需要换行的时候结尾加上<br />,最后一个由于下行开始加了,这里不用加,以便生成的文档格式友好)
*<br />----------------------------------------------------------------<br />
*2015年12月25日 v0.0.1 changyong创建 (说明:该位置需要换行的时候结尾加上<br />,最后一个由于下行开始加了,这里不用加,以便生成的文档格式友好)
*<br />----------------------------------------------------------------
注:重点函数进行记录说明,让人看了就知道函数功能,如何使用等信息;修改记录重点节点记录即可。
为了方便阅读代码尽可能的多做一些注释,特别是关键点一定要注释,但是也不要过于冗余盲目的注释,尽量达到注释即为大纲的效果。
团队开发之:代码规范说明相关推荐
- 小团队的前端代码规范
前端代码规范 文章目录 前端代码规范 1 前言 2 命名规范 1) 项目命名 2 )目录命名 3)`javaScript` 文件命名 4)`CSS`,`less`文件命名 5)HTML文件命名 6) ...
- 团队开发之Git管理及使用
什么是Git 以下摘自官网: Git is a free and open source distributed version control system designed to handle e ...
- ios开发之 icon规范+启动图规范+启动页规范
作为一名开发人员,有时候碰上美工有事外出,那么偶尔就得顶下美工的岗位,切切图.今天就简单的说一下. 手机以(iPhone 4s-iPhone 6P)为主,若有新产品,会及时更新内容. 1.先说说App ...
- 手机开发之H5+规范的手机按键处理
手机开发中,默认的手机按键处理方式都是直接退出程序.在实际中,手机开发者往往都需要进行自定义处理,而处理这些需要牵涉到手机端的原生控件的处理或者调用,这对于通过WEB方式开发手机应用来说,是一个难题. ...
- 项目Alpha冲刺(团队)-代码规范、冲刺任务与计划
课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:SkyReach 作业目标:确定团队项目的代码规范.冲刺任务与计划 代码规范:隐流 ...
- Java代码规范检查插件调研及总结
代码规范工具对比 代码规范工具是什么 大家应该都有过写完代码后review的情况:用于提高编码质量,尽早的发现问题:节约开发时间和成本. 但review 这个过程往往要消耗 更多的开发资源. 所以就出 ...
- 【项目篇】Android团队项目开发之统一代码规范
前言 团队项目开发前的统一三要素:统一需求/开发文档,统一代码规范,统一环境(编译/测试/发布). 一个项目团队,要想有高效的产出,必须在团队协作上下好功夫,必须在项目开发统一进度上做好协调.只有在高 ...
- 镜像处理坐标 android,Android应用开发之Android重写ImageView实现图片镜像效果的代码教程...
本文将带你了解Android应用开发之Android重写ImageView实现图片镜像效果的代码教程,希望本文对大家学Android有所帮助. 前两天朋友问我一个问题,如何实现从手机系统相册加载一张图 ...
- ios html清除缓存,iOS开发之1行代码实现缓存计算及清除缓存
话不多说,直接撸代码 // // gzhCache.h // cache // // Created by 郭志贺 on 2020/5/27. // Copyright © 2020 郭志贺. All ...
最新文章
- 力科示波器 matlab,力科周末文章四周年180期合集目录
- tableau可视化数据分析60讲(十五)-tableau常用可视化视图(散点图气泡图)
- UML精粹--标准对象建模语言简明教程
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
- [js] 说说你对JSBridge的理解
- 再见,Spark!Flink已成气候!
- java输出不同颜色_Java设计模式-策略模式、状态模式
- Socket TCP和UDP的区别
- requests-处理不信任的ssl证书
- 【SICP归纳】6 副作用与环境模型
- 【Java】Java 反射 object is not an instance of declaring class
- VS 母版使用配置技巧
- 多个安卓设备投屏到电脑_如何将安卓或苹果手机屏幕投影到电脑
- 我的世界java雪村种子_我的世界:自带雪屋前哨站与要塞的富有雪村种子,超稀有砂砾山...
- 计算机基本配置要求,win10系统对电脑配置有哪些要求?windows10的最低配置要求...
- python glob.glob()
- Git是什么?有什么用?
- Maven国内源设置 - OSChina国内源失效了,别更新了
- 报错:Cannot resolve org.openjfx:javafx.base:11.0.0-SNAPSHOT
- 8寸ndows平板,三款8英寸Windows平板对比体验
热门文章
- 未能加载文件或程序集 Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken= 1cee9f8bde3db106或它的某
- 计算机excel隆华书店销量,计算机二级excel主要函式的用法
- android 九宫格图案解锁
- Java实现小型酒店管理系统。
- 20201211_127_编码知识_中文乱码问题解决
- 详解Android电量优化
- linux 时区 0900是哪,解析表PST/CEST/UTC/ETC/等时区的日期时间
- 实用Maven插件 - 打包
- ML-Gradient Boost Decision Tree(+ Treelink)
- LVGL开发|lv_lib_100ask之lvgl中文输入(lv_100ask_pinyin_ime )-LVGL中文输入