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-compiler-plugin 插件编译过程中报缺失get/set方法
一般都是由于使用了lombok插件导致的 解决方法: 首先将compiler插件版本升级到3.3以上, 查询资料发现说有可能是版本太低导致 在configuration中添加上annotationPr ...
- 企业为什么需要BI报表工具?
企业一旦成规模运作起来,数据量是数以万计的,无论数据还是报表都需要协同管理不断更新.面对各大OA\ERP\CRM系统的数据,传统用Excel处理数据效率是很低下的.要想快速出报表,快速取数,快速做业务 ...
- c# 编程学习(三)
方法是具名的语句序列 returnType methodName ( parameterList ) { // 这里添加方法主体语句 } returnType(返回类型)是类型名称,指定方法返回的数 ...
- Vue 源码解读(9)—— 编译器 之 优化
前言 上一篇文章 Vue 源码解读(8)-- 编译器 之 解析 详细详解了编译器的第一部分,如何将 html 模版字符串编译成 AST.今天带来编译器的第二部分,优化 AST,也是大家常说的静态标记. ...
- C# Debug和Trace:输出调试信息
在 C# 语言中允许在程序运行时输出程序的调试信息,类似于使用 Console.WriteLine 的方式向控制台输出信息.所谓调试信息是程序员在程序运行时需要获取的程序运行的过程,以便程序员更好地解 ...
- 利用logrotate工具对catalina.out进行日志分割实战
logrotate是linux自带的日志分割工具,如果没有可以用yum安装 yum -y install logrotate 要配置日志分割定时任务,需要在/etc/logrotate.d/下创建一个 ...
- updatexml , extractvalue 报错注入
过滤了union, < ,> = 空格过滤,()没有被过滤 updatexml没有被过滤 那么就不能用布尔类型注入 数据库名 username=admin'or(updatexml(1,c ...
- python初略复习(2)及python相关数据分析模块的介绍
常用模块 Python中的模块在使用的时候统一都是采用的句点符(.) # 就是模块名点方法的形式 import time time.time() import datetime datetime.da ...
- (五)目标检测算法之Faster R-CNN
系列博客链接: (一)目标检测概述 https://www.cnblogs.com/kongweisi/p/10894415.html (二)目标检测算法之R-CNN https://www.cnbl ...
- Redis环境搭建-Linux单机
一.准备Linux 可以买云服务器,也可以用虚拟机,我用的是虚拟机Oracle VM VirtualBox 二.编译环境 1.检查linux下是否安装环境 yum list installed | g ...