没有合适的资源?快使用搜索试试~ 我知道了~
java代码规范详细版 1. 标识符命名规范 2 1.1 概述 2 1.2 包名 3 1.3 类名 3 1.4 方法名 4 1.5 域(field)名 5 1.6 局部变量名 5 2. 代码格式 5 2.1 源文件编码 6 2.2 行宽 6 2.3 包的导入 6 2.4 类格式 6 2.5 域格式 6 2.5 方法格式 6 2.6 代码块格式 6 3. 注释规范 9 3.1 注释 vs 代码 9 3.2 Java Doc 9 3.3 块级别注释 10 3.4 行内注释 11 4 最佳实践和禁忌 11 4.1 每次保存的时候,都让你的代码是最美的 11 4.2 使用log而不是System.out.println() 11 4.3 每个if while for等语句,都不要省略大括号{} 11 4.4 善用TODO: 12 4.5 在需要留空的地方放一个空语句或注释,告述读者,你是故意的 12 4.6 不要再对boolean值做true false判断 12 4.7 减少代码嵌套层次 13 4.8 程序职责单一 14 4.9 变量的声明,初始化和被使用尽量放到一起 14 4.10 缩小变量的作用域 15 4.11 尽量不要用参数来带回方法运算结果 16 4.12 除非有相当充足的理由,否则不许使用省略泛型类的类型参数 16
资源推荐
资源详情
资源评论
Java 代码规范
本 Java 代码规范以 SUN 的标准 Java 代码规范为基础,为适应我们公司的实际需要,可能
会做一些修改。本文档中没有说明的地方,请参看 SUN Java 标准代码规范。如果两边有冲
突,以 SUN Java 标准为准。
1. 标识符命名规范
1.1 概述
标识符的命名力求做到统一、达意和简洁。
1.1.1 统一
统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用
supplier,也可以用 provider,但是我们只能选定一个使用,至少在一个 Java 项目中保持统
一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使
不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。
1.1.2 达意
达意是指,标识符能准确的表达出它所代表的意义,比如: newSupplier,
OrderPaymentGatewayService 等;而 supplier1, service2,idtts 等则不是好的命名方式。
准确有两成含义,一是正确,而是丰富。如果给一个代表供应商的变量起名是 order,显然
没有正确表达。同样的,supplier1, 远没有 targetSupplier 意义丰富。
1.1.3 简洁
简洁是指,在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。比
如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,
transferedTargetSupplierOrderName 则较好,但是 transTgtSplOrdNm 就不好了。省略元
音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。
1.1.4 骆驼法则
Java 中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之
间不使用特殊符号分割,而是通过首字母大写来分割。比如: supplierName,
addNewContract,而不是 supplier_name, add_new_contract。
1.1.5 英文 vs 拼音
尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免
拼音与英文混用。比如表示归档,用 archive 比较好, 用 pigeonhole 则不好,用 guiDang
尚可接受。
1.2 包名
使用小写字母如 com.xxx.settlment,不要 com.xxx.Settlement
单词间不要用字符隔开,比如 com.xxx.settlment.jsfutil,而不要 com.xxx.settlement.jsf_util
1.3 类名
1.3.1 首字母大写
类名要首字母大写,比如 SupplierService, PaymentOrderAction;不要 supplierService,
paymentOrderAction.
1.3.2 后缀
类名往往用不同的后缀表达额外的意思,如下表:
后缀名
意义
举例
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
1.4 方法名
首字母小写,如 addOrder() 不要 AddOrder()
动词在前,如 addOrder(),不要 orderAdd()
动词前缀往往表达特定的含义,如下表:
前缀名
意义
举例
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()
剩余14页未读,继续阅读
资源评论
ReverseC
- 粉丝: 36
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功