阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)

浅析 阿里巴巴 Java 开发规约

(未完成)

contents

  • 编程规约

编程规约

  • 命名规约
  • OOP规约

命名规约

  • 采用空格缩进,禁止使用tab字符。

    这是Google和ali一致的规约,只不过前者是一个tab对应2个空格,后者则是4个空格。之所以不提倡tab键,是因为不同的IDE对tab键的“翻译”默认有所差异,容易因不同程序员的个性化而导致同一份代码的格式混乱。。

  • POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。

    定义为基本数据类型boolean isSuccess;的属性,它的方法也是isSuccess(),RPC框架在反向解析的时候,“以为”对应的属性名称是success,导致属性获取不到,进而抛出
    异常。

  • 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,类名若有复数含义,则可使用复数形式。

    避免硬编码问题是每个程序员都应该具备的基本素养,硬编码所带来的可读性差、维护困难等问题。

  • 接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性

    正例:接口方法签名:void f();
    反例:接口方法定义:public abstract void f();

  • Service/DAO层方法命名规约
    1)获取单个对象的方法用get做前缀。
    2)获取多个对象的方法用list做前缀。
    3)获取统计值的方法用count做前缀。
    4)插入的方法用save(推荐)或insert做前缀。
    5)删除的方法用remove(推荐)或delete做前缀。
    6)修改的方法用update做前缀。

OOP规约

  • 构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在init方法中。
  • POJO类必须写toString方法。使用工具类source> generate toString时,如果继承了另一个POJO类,注意在前面加一下super.toString。
  • 类内方法定义顺序依次是:公有方法或保护方法> 私有方法> getter/setter方法。

    说明:
    公有方法是类的调用者和维护者最关心的方法,首屏展示最好;
    保护方法虽然只是子类关心,也可能是“模板设计模式”下的核心方法;
    而私有方法外部一般不需要特别关心,是一
    个黑盒实现;
    因为方法信息价值较低,所有Service和DAO的getter/setter方法放在类体最
    后。

原文地址:https://www.cnblogs.com/selton/p/9028889.html

时间: 2024-10-21 10:41:42

阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)的相关文章

【转】线程池体系介绍及从阿里Java开发手册学习线程池的正确创建方法

jdk1.7中java.util.concurrent.Executor线程池体系介绍 java.util.concurrent.Executor : 负责线程的使用与调度的根接口  |–ExecutorService:Executor的子接口,线程池的主要接口  |–ThreadPoolExecutor:ExecutorService的实现类  |–ScheduledExecutorService:ExecutorService的子接口,负责线程的调度  |–ScheduledThreadPo

从阿里Java开发手册学习线程池的正确创建方法

前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险. 结合最近面试的经历,发现这条建议还是十分有用的,因为自己经常使用Executors提供的工厂方法创建线程池,所以忽略了线程池内部的实现.特别是拒绝策略,面试被问到两次,因为使用Executors创建线程池不会传入这个参数而使用默认值所以我们常常忽略这一参

阿里Java开发手册学习 3 MYSQL规约

建表规约 1.表达是与否概念的字段,必须使用is_XXX的方式命名,数据类型是 unsigned tinyint (1表示是,0表示否). 2.表名不使用复数名词. 3.禁用保留字. 4.小数类型为decimal,禁止使用float和double. 5.表的命名最好是加上"业务名词_表的作用" . 6.修改字段时要及时更新字段注释. 7.字段允许适当冗余,以提高性能. 8.单表行数超过500万行或者单表超过2G时才考虑分库分表. 9.合适的字符存储长度,不但节约数据库表空间.节约索引存

阿里Java开发手册之编程规约

阿里Java开发手册之编程规约 对于程序员来说,编程规范可以养成良好的编程习惯,提高代码质量,降低沟通成本.就在2月9号,阿里出了一份Java开发手册(正式版),分为编程规约,异常日志,MySQL规约,工程规约,安全规约五个章节.这里我根据阿里的编程规约,重点记录(黑色加粗部分)自己还未做好的一些规范,同时方便查阅. ++阿里Java开发手册下载地址++ 编程规约 一.命名规约 [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name

Java开发中常用的IntelliJ IDEA插件

工欲善其事,必先利其器 一.Alibaba Java Coding Guidelines 代码规范插件:阿里开发的此插件应该说极大的改善程序员的代码质量,帮助程序员规范自己的代码 安装使用: 1. 打开File -> Settings -> Plugins -> Browse repositories...,输入“Alibaba Java Coding Guidelines”,查找,安装: ? 2.安装成功后,会提示重新启动一下IDEA,重启即生效! 二.RestfulToolkit 概

阿里java开发手册阅读心得

最近抽空学习了下阿里之前开放出来的java开发手册,其中提出的规约有的是基于代码书写规范的统一,有的是基于代码的安全性.执行效率考虑的.其中提到的大部分要求在实际编码中都是很好的建议,也有个别建议在实际项目中可能并不合适,要视项目的规模.场景决定.这里总结了其中感觉比较有价值的一些规范: 1.所有的覆写方法,必须加@Override注解 这一点自己还是很有感触的,在很多项目代码中经常看到覆写父类的方法上不带该注解,通常情况下编译也不会报错.加上该注解就是明确告知代码阅读者该方法是多态的,同时提供

阿里Java开发手冊之编程规约

对于程序猿来说,编程规范能够养成良好的编程习惯,提高代码质量,减少沟通成本.就在2月9号,阿里出了一份Java开发手冊(正式版),分为编程规约.异常日志.MySQL规约,project规约.安全规约五个章节. 这里我依据阿里的编程规约,重点记录(黑色加粗部分)自己还未做好的一些规范,同一时候方便查阅. 编程规约 一.命名规约 [强制]代码中的命名均不能下面划线或美元符号開始.也不能下面划线或美元符号结束. 反例: _name / __name / $Object / name_ / name$

Mac IntelliJ IDEA 2017(java开发集成环境)附注册码和破解教程 v2017.3.5破解版

原文:http://www.orsoon.com/Mac/155938.html 原文中含有软件下载地址 软件介绍 IntelliJ IDEA 2017 Mac激活版是Mac平台上的一款java开发集成环境,今天和大家分享的是2017.3最新版本,IntelliJ IDEA 2017 mac让您可以顺利编码,让您在Mac电脑上方便快速的进行java开发编程工作,编写,调试,重构,测试统统都能搞定.现为大家带来IntelliJ IDEA 2017 mac破解版,软件内附IntelliJ IDEA

阿里java开发手册中命名规约之DO/BO/DTO/VO/AO

前言 在阅读<阿里巴巴Java开发手册>时,看到命名规则中有这样一条 虽然以前也知道这些是根据Java对象的角色所分配名称的后缀,但是没有弄清楚分别是什么意思,日常开发中也没有使用到. 网上查找了一些资料,但是感觉大多数都是一样的,可能大家都是互相copy,篇幅过长并且不易理解. <阿里巴巴Java开发手册>中对于上面这些在领域模型的命名使用上给出了规范,说的很清楚,分享给大家. 领域模型命名规约 1.数据对象:xxxDO,xxx即为数据表名: 2.数据传输对象:xxxDTO,xx