首页 > 编程语言 >Java 开发手册

Java 开发手册

时间:2023-12-29 15:38:35浏览次数:26  
标签:正例 Java name 反例 手册 开发 使用 命名 强制

一、编程规约

(一)命名风格

1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。

反例:_name / __name / $Object / name_ / name$ / Object$

2. 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。

说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式

也要避免采用。

正例:alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。

反例:DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3

3. 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO /

DTO / VO / AO

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

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

4. 【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从

驼峰形式。

正例: localValue / getHttpMessage() / inputUserId

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

正例:MAX_STOCK_COUNT

反例:MAX_COUNT

6. 【强制】抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类

命名以它要测试的类的名称开始,以 Test 结尾。

7. 【强制】中括号是数组类型的一部分,数组定义如下:String[] args;

反例:使用 String args[]的方式来定义。

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

反例:定义为基本数据类型 Boolean isDeleted;的属性,它的方法也是 isDeleted(),RPC阿里巴巴 Java 开发手册

框架在反向解析的时候,“以为”对应的属性名称是 deleted,导致属性获取不到,进而抛出异

常。

9. 【强制】包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用

单数形式,但是类名如果有复数含义,类名可以使用复数形式。

正例: 应用工具类包名为 com.alibaba.open.util、类名为 MessageUtils(此规则参考

spring 的框架结构)

10. 【强制】杜绝完全不规范的缩写,避免望文不知义。

反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随

意缩写严重降低了代码的可阅读性.

标签:正例,Java,name,反例,手册,开发,使用,命名,强制
From: https://blog.51cto.com/u_16483609/9028002

相关文章

  • 无涯教程-Java NIO - FileLock(文件锁)
    JavaNIO支持并发和多线程,这使它能够同时处理在多个文件上运行的多个线程,但是在某些情况下,无涯教程要求文件不能被任何线程共享并且不可访问。为了满足这种要求,NIO提供了FileLock的API,该API用于提供对整个文件或部分文件的锁定,以使该文件或其部分不会共享或不可访问。为了提供或......
  • C++ Qt开发:SqlRelationalTable关联表组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍SqlRelationalTable关联表组件的常用方法及灵活运用。在上一篇文章中详细介绍了SqlTableModle组......
  • Unity引擎2D游戏开发,UI绘制创建人物状态栏
    下载并导入UI资源前往UnityAssetsStore中下载添加此资源打开Unity中的PackageManager,选择MyAssets,点击Import导入项目中取消选择Scene,其他的全都勾选上,然后点击Import然后在Assets文件夹下方会出现MStudio文件夹,此处就是插件的目录打开ColorPalette,能够看到不同前......
  • JAVA面向对象程序设计
    第2章:类与对象定义类:在Java中,一个类是创建对象的蓝图或原型。类定义了一组属性(变量)和方法(函数)。-创建类:演示一个简单的Java类的声明,包括类名、属性和方法。```javapublicclassPhone{//属性(Variables)Stringbrand;Stringmodel;intprice;//方法(Methods)voidcall(S......
  • 【GC】Java中常见的垃圾回收算法
    Java中常见的垃圾回收算法有以下几种:标记-清除算法(Mark-and-Sweep):该算法分为两个阶段,标记阶段和清除阶段。在标记阶段,垃圾回收器会遍历堆中的对象,并标记所有可达对象。在清除阶段,垃圾回收器会遍历堆中的对象,清除所有未被标记的对象。复制算法(Copying):该算法将堆分成两个区域......
  • 开发商城小程序具有哪些模块和功能?(临沂软件定制开发-艾思软件)
    随着移动互联网的发展,微信小程序已经成为了企业、商家和开发者的重要工具。商城小程序作为微信小程序的一种类型,为商家提供了一个全新的销售渠道。本文将详细介绍商城小程序的模块和功能,并附带相关代码。一、商城小程序的模块首页模块:展示商城的热门商品、优惠活动等信息,吸引......
  • 【算法】Java版
    二分查找算法二分查找算法(BinarySearchAlgorithm)是一种在有序数组中查找特定元素的搜索算法。该算法的基本思想是将数组从中间分成两部分,然后与目标元素进行比较,进而确定目标元素位于左半部分还是右半部分,不断缩小搜索范围,直到找到目标元素或确定目标元素不存在。以下是一个使......
  • 无涯教程-Java NIO - AsynchronousFileChannel
    无涯教程知道JavaNIO支持并发和多线程,这允许同时处理不同的通道,因此JavaNIO包中负责此操作的API是AsynchronousFileChannel。AsynchronousFileChannel与NIO的FileChannel相似,不同之处在于此通道使文件操作能够异步执行。在异步中,线程将请求传递给操作系统的内核以完成请求,而......
  • Java反射,看完就会用
    什么是反射在说反射概念之前,我们先说另外2个概念:编译期和运行期。编译期:编译期是源代码从文本形式转换为字节码的过程,这发生在Java代码被JVM执行之前。在编译期,编译器对源代码进行语法检查、类型检查、变量名解析等操作,确保代码符合Java的语法规则,并将其编译成字节码(.class文......
  • 无涯教程-Java NIO - Path(路径)
    顾名思义,Path是实体(如文件或目录)在文件系统中的特定位置,以便人们可以在该特定位置搜索和访问它。通常,一个实体的路径可以是两种,一种是绝对路径,另一种是相对路径,为了获得Path的,无涯教程可以使用java.nio.file.Paths类get()的静态方法。如上所述,绝对路径是通过传递根元素和定......