首页 > 编程语言 >【记录】学习 阿里巴巴Java开发手册 (持续更新)

【记录】学习 阿里巴巴Java开发手册 (持续更新)

时间:2022-09-26 11:59:00浏览次数:50  
标签:正例 缩写 Java 阿里巴巴 记录 反例 手册 类名

前言

在这里记录一下自己学习编码的规范和规约的过程,希望可以纠正自己的不良习惯,让编码更加规范和合理,具有更加好的可读性。

阿里巴巴Java开发手册v1.3.0分为六个部分。针对这一六部分我仅对于我自己有用的内容进行一些记录,且是现在有用的。不过等我学习的越多我也会在后续的时间里进行补充。

下面正式开始记录。

编程规约

(一)、命名风格

类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等。

正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion

反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion

 

方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式。

正例: localValue / getHttpMessage() / inputUserId

 

常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

正例:MAX_STOCK_COUNT

反例:MAX_COUN

 

类型与中括号紧挨相连来表示数组。

正例:定义整形数组 int[] arrayDemo;

反例:在 main 参数中,使用 String args[]来定义。

 

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

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

 

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

正例:应用工具类包名为 com.alibaba.ai.util、类名为 MessageUtils(此规则参考 spring 的框架结构)

 

杜绝完全不规范的缩写,避免望文不知义。

反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随 意缩写严重降低了代码的可阅读性。

标签:正例,缩写,Java,阿里巴巴,记录,反例,手册,类名
From: https://www.cnblogs.com/jyf2018/p/16730378.html

相关文章

  • 【code基础】java 空数组
    解题时,如果不满足返回空数组,可以使用newint[0]返回@TestpublicvoidintTest(){int[]ints=newint[0];//指定元素个数为0,表示空数组int[]ints1=newint[......
  • java中overload与override的区别
    1、综述重写(Override)也称覆盖,它是父类与子类之间多态性的一种表现,而重载(Overload)是一个类中多态性的一种表现。override从字面就可以知道,它是覆盖了一个方法并......
  • JavaScript 数组常用方法大全
    Array对象所有方法concat()方法合并多个数组,返回一个新数组join() 方法将数组合并为字符串,用指定的字符分割pop()方法删除成员(从后) 并返回该被删......
  • Mybatis的mapper与Java实体类的关系
    Mybatis当中有一个重要概念:ORM(ObjectRelationMapping),对象关系映射。也就Java实体类的属于与关系型数据库column的对应关系。我们在mybatis的mapper.xml当中用#{}来......
  • Mybatis的SqlSession把Java Map作为参数
    Mybatis的以下方法,可以有一个参数,也可以有两个参数。如果有两个参数,则第一个参数为SQL语句;第二个参数是Object。sqlSession.insert("insertCar",carMap);以上的"inser......
  • 秀真的学习日记:学Java的第一天
    秀真的学习日记:学Java的第一天快捷键ctrl+A=全选ctrl+X=剪切ctrl+C=复制ctrl+Z=撤销ctrl+V=粘贴ctrl+S=......
  • 计算机毕设选题推荐 springboot+vue二手车交易平台 ssm+vue二手车拍卖系统 二手车商城
    ......
  • javaScript-3常用函数
      <!DOCTYPEhtml><html><head><table>常用函数</table><metacharset="utf-8"></head><body><h1>Array数组</h1>原始数据:<sapnid="originalAr......
  • Java读文件
    publicclassFileServer{publicstaticvoidmain(String[]args){try{Filefile=newFile("data.txt");S......
  • Java死锁
    publicclassDeadLockDemo{privatestaticfinalObjectHAIR_A=newObject();privatestaticfinalObjectHAIR_B=newObject();publicstaticv......