java-开发规约
public class TenTen {
/**
* 代码中的命名不能用下划线或美元符号开始和结束:例如 _name name_ $name name$
*/
/**
* 类名必须使用UpperCamelCase风格(大驼峰),后面的例外:DO BO DTO VO AO PO UID
* (第一个词的首字母,以及后面每个词的首字母都大写)
* 正确类名例子:ForceCode UserDO HtmlDTO XmlService
*/
/**
* 方法名,参数名,成员变量名,局部变量名统一使用LowerCamelCase风格(小驼峰),
* (第一个词的首字母小写,后面每个词的首字母大写)
* 正确例子:localValue getName
*/
/**
* 常量命名全部大写,且单词之间用下划线隔开,力求表达语义完整,不嫌名字长
* 正确例子CITY_NAME
*/
/**
*抽象类名使用 Abstract 或者 Base 开头
* 异常类名使用 Exception 结尾
* 测试类名使用 以要测试的类的名称开始,并和 Test 结尾
*/
/**
* 类型与中括号紧挨相连--》表示数组;
* int[] arrayDemo
*/
/**
* 包名统一使用小写,包名统一使用单数形式,如果类名需要负数形式可以使用复数
* com.quan.entity 类名:UserUtils
*/
/**
* 避免在子父类的成员变量之间或者不同代码块的局部变量之间采用完全形同的命名。
*/
/**
* 杜绝完全不规范的缩写,避免望文不知义的情况:
* 错误例子 Condition 写成condi
*/
/**
* 常量和变量的命名,推荐将他们的类型放在尾部,提高辨识度
* 例子:startTime nameList mysqlConnection
*/
/**
* 如果模块,接口,类,方法使用了设计模式,命名时需要体现出具体的模式
* 例子:LoginProxy BeanFactory
*/
/**
* 接口类中的方法和属性》不要加任何的修饰符号《保存整洁,不要在接口里面地定义变量
*/
/**
* 接口和实现类的规约:
* 1-对于Service DAO 类,内部实现类用Impl的后缀与接口区别
* 例子:EventServiceImpl 实现 EventService接口
* 2-如果是形容能力的接口名称,去对应的形容其为接口名
* 例子:AbstractTranslator 实现 Translatable接口
*/
/**
* 枚举类名带上Enum后缀,枚举成员名称需要全部大写,单词间用下划线隔开
* 实际枚举就是特殊的常量类,他的构造函数被默认是强制私有的
* 例子:StatusEnum 成员名称:SUCCESS UNKNOW_ERROR
*/
/**
* 分层命名:
* 1-Service/DAO层
* 获取单个对象方法-用get前缀
* 获取多个对象方法-用list前缀
* 获取统计值-用count做前缀
* 插入的方法-用save/insert做前缀
* 删除的方法-用remove/delete做前缀
* 修改的方法-用update做前缀
* 2-领域模型:
* 数据对象-xxxDO,xxx为数据表名
* 数据传输对象-xxxDTO xxx为业务领域相关的名称
* 展示对象-xxxVO xxx一般为网页名称
* POJO是DO/DTO/BO/VO的统称,禁止命名为xxxPOJO
*/
}
/**
* 常量定义
*/
public class Constant {
/**
* 不允许任何魔法值(未经定义的常量)-直接使用
* 错误例子:String key = "quan" + userId
*/ /**
* 使用long或者Long赋值的时候,数值需要使用大写L,不能写小写字符l,避免和1混淆
* 例子:Long id = 2L
*/ /**
* 禁止使用一个常量类维护所有常量,常量按功能归类,分开维护
* CacheConsts SystemConfigConsts
*/ /**
* 如果变量值仅在一个固定范围内变化用Enuml类型来定义
* 包括季节,星期等
*/
}
/**
* 代码格式
*/
public class CodeFormat {
/**
* 如果大括号为空,可以写为{} 中间无需空格
* 如果不为空:
* 1-左大括号前不换行
* 2-左大括号后换行
* 3-右大括号前换行
* 4-右大括号后还有其他代码则不换行,表示终止的右大括号后必须换行
*/ /**
* 左小括号和右边相邻字符之间不出现空格,右边小括号和左边相邻字符也不需要空格
* 但是,左边大括号前需要空格
*/ /**
* if/for/while/switch/do等保留关键字与括号之间必须加一个空格
*/
public static void main(String[] args) {
// 缩进四个空格
String name = "quan";
// 运算符的左右必须有一个空格
int flag = 0;
// 关键词if和括号之间必须有空格,括号内的flag与左小括号,0和右小括号都不需要空格
if (flag == 0) {
System.out.println("done");
}
// 左大括号前加空格且不换行,左大括号后换行
if (flag == 1) {
System.out.println("");
// 右大括号前换行,右大括号后有else不需要换行
} else { }
}
}
java-开发规约的更多相关文章
- 阿里巴巴 Java 开发规约插件初体验
阿里巴巴 Java 开发手册 又一次来谈<阿里巴巴 Java 开发手册>,经过这大半年的版本迭代,这本阿里工程师们总结出来避免写出那么多 Bug 的规范,对于 Java 开发者简直就是必备 ...
- 《阿里巴巴Java开发规约》插件使用介绍
一.简介 阿里巴巴于10月14日在杭州云栖大会上,正式发布了<阿里巴巴Java开发规约>扫描插件!该插件基于<阿里巴巴Java开发规约>手册内容,在扫描代码后,将不符合规约的代 ...
- 阿里巴巴Java开发规约及插件安装
[上海尚学堂编辑整理]10.14日,阿里巴巴在杭州云栖大会上,正式发布了由阿里巴巴 P3C 项目组,经过 近一年的持续研发,正式发布众所期待的 <阿里巴巴 Java 开发规约>的扫描插件. ...
- 阿里巴巴Java开发规约插件安装使用指南
编码规范插件安装使用指南 阿里技术公众号于今年的2月9日首次公布<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,后又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放 ...
- AS 阿里巴巴Java开发规约 CheckStyle-IDEA
Alibaba Java Coding Guidelines 简介 github地址:https://github.com/alibaba/p3c 官方文档 阿里巴巴Java开发手册(纪念版) ...
- 阿里巴巴Java开发规约插件-体验
插件有哪些功能? 阿里技术公众号于今年的2月9日首次公布<阿里巴巴Java开发规约>,瞬间引起全民代码规范的热潮,上月底又发布了PDF的终极版,大家踊跃留言,期待配套的静态扫描工具开放出来 ...
- 阿里巴巴Java开发规约扫描插件-Alibaba Java Coding Guidelines 在idea上安装使用教程
经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的<阿里巴巴Java开发规约>扫描插件!该插件由阿里巴巴P3C项目组研发.P3C是世界知名的反潜机,专门对付 ...
- 【Z】扩展阿里巴巴Java开发规约插件
https://blog.csdn.net/u014513883/article/details/79186893 1.前言 工作中难免会遇到维护别人代码的情况,那么首先就得看懂别人写的代码.如果对方 ...
- 阿里Java开发规约插件使用
刚刚的云栖大会上,阿里巴巴公布了这款酝酿已久的Java开发规约插件,对于国内开发者来说是一次轻松提高自己代码规范的机会. 安装方法 IDEA安装方法: settings >> plugin ...
- Java 开发规约插件
阿里巴巴 Java 开发规约插件初体验 阿里巴巴 Java 开发手册 又一次来谈<阿里巴巴 Java 开发手册>,经过这大半年的版本迭代,这本阿里工程师们总结出来避免写出那么多 Bug 的 ...
随机推荐
- 设置maven创建工程的jdk编译版本
方式一:在maven的主配置文件中指定创建工程时使用jdk1.8版本 <profile> <id>jdk-1.8</id> <activation> & ...
- 图解AI数学基础 | 概率与统计
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/83 本文地址:http://www.showmeai.tech/article-det ...
- 【外企测试面试、笔试】分享下历时8轮、30k+的外企面试全过程
外企福利 薪酬体系完善(期权.股票等),定期薪酬市场调研,紧跟一线互联网大厂 加班很少很少 年假多,15-20天 国外免费旅游.旅游金 免费培训英语(还可能出国培训) 定期技术交流 免费零食 定期团建 ...
- [题解]RQNOJ PID85 三个袋子
链接:http://www.rqnoj.cn/problem/85 思路:一个排列问题,递推式很简单,f(n+1)=3*f(n)-1 ,由此可以推出通项公式,f(n)=0.5*3^(n-1)+0.5 ...
- Python:读取二进制文件时使用print输出\x
问题: 有二进制文件,通过open打开和read()读入并输出时,输出为\x十六进制编码,不能正确显示其具体代表的字符 with open(r'C:\Users\Le\Desktop\Test\tki ...
- gvim 配置vimrc
##################################################################### normal setup################## ...
- LeetCode-075-颜色分类
颜色分类 题目描述:给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示 ...
- SQL Server内置的HTAP技术
SQL Server内置的HTAP技术 目录 背景 SQL Server在OLAP上的发展 SQL Server的初代HTAP SQL Server逐渐增强的HTAP SQL Server列存总结 H ...
- 七天接手react项目-起步
七天接手react项目-起步 背景 假如七天后必须接手一个 react 项目(spug - 一个开源运维平台),而笔者只会 vue,之前没有接触过 react,此刻能做的就是立刻展开一个"7 ...
- mysql使用group by分组时出现错误ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and
问题: 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ...