首页 > 编程语言 >【Java】代码规范

【Java】代码规范

时间:2024-08-08 21:55:16浏览次数:14  
标签:Java 常量 代码 规范 static 使用 命名 final

参考《码出高效:Java开发手册》~

是一个读书笔记~

目录

命名规范

包名

类名

变量

常量

代码编写规范

命名规范

所有的命名都需要能看出代码的作用,使用英文单词进行命名

包名

使用小写字母,相邻的点之间只能有一个单词,使用单数形式

例:

import java.util.stream.*;

如果类名有复数含义,则可以使用复数

如:

import java.util.stream.Collectors;

类名

使用大驼峰命名法,即首字母大写,其他单词首字母大写

自定义异常类需要在最后加上Exception

自定义枚举类需要在最后加上Enum

抽象类使用Abstract或Base开头

测试类命名以要测试的类的类名开头,以Test结尾

例:

class InputStream{}

class TypeEnum{}

class UserTest{}

class GlobalException extends Exception{}

变量

使用小驼峰命名法,首字母小写,对于布尔类型的变量不要将is作为前缀命名,在某些框架解析时可能发生错误。

而数据库的字段是推荐使用is作为前缀表达是与否的含义的,所以在进行数据库字段和成员变量进行映射时,需要手动指定映射规则。(MyBatis的使用)

例:

String userPassword;

常量

全局常量,使用public static final修饰,单词间使用下划线隔开,全部字母大写

如:

public static final MAX_LEVEL = 3;

类内常量,使用private static final修饰,单词间使用下划线隔开,全部字母大写

如:

private static final CONTANT_PREFIX = "bussiness";

局部常量,包括方法内常量,代码块内常量,方法参数常量(参数被final修饰),命名规则和变量一致,使用小驼峰命名法即可。

对于那些有意义的值,最好给值一个名称。

比如在数据库表中,有个字段用于记录用户状态,0表示正常状态,1表示被禁言,2表示账号注销,诸如此类。

在代码的逻辑判断中,如果直接使用0,1,2来进行判断,代码的阅读者就不知道代表的含义。

可以使用枚举类或者直接使用常量来表示:

private static final int USER_STATUS_NORMAL = 0;
private static final int USER_STATUS_STOP_POST= 1;
private static final int USER_STATUS_CANCEL = 2;

代码编写规范

缩进推荐使用四个空格来表示层级关系,而不使用tab,这是由于不同编辑器对于tab的解析不同,当然有些编辑器支持将tab表示为四个空格,包括idea和eclipse

空格的使用:

  • 对于运算符的前后需要加上空格;
  • 左括号(大小括号都一样)前加上空格;
  • 如果方法有多个参数,在定义和传入参数时,逗号后面加上空格;
  • 注释// 和注释内容之间有一个空格;

换行符的使用:

  • 方法和方法之间,类和类之间,方法和属性之间可以用换行隔开,不同逻辑的代码,不同业务的代码也可以用空行隔开;
  • 如果if (success) {} 大括号里没内容就不要用换行符;
  • 当一行内容很多需要换行时,将运算符一起换行;
  • 在左大括号后换行;

注释遵循三个原则:

  • 一定要写注释
  • 注释要精简
  • 如果注释所解释的代码发生了修改,那么注释也一定要更改

今天的分享到这里啦,最近就打算分享一些读书笔记~

最后,问一个问题,大家写注释的时候用的是中文还是英文?

开发入门中,欢迎指教~

标签:Java,常量,代码,规范,static,使用,命名,final
From: https://blog.csdn.net/m0_73455589/article/details/141035760

相关文章

  • 代码随想录算法刷题训练营day49:LeetCode(42)接雨水、LeetCode(84)柱状图中最大的矩形
    代码随想录算法刷题训练营day49:LeetCode(42)接雨水、LeetCode(84)柱状图中最大的矩形LeetCode(42)接雨水题目代码importjava.util.Stack;classSolution{publicinttrap(int[]height){//用单调栈进行操作intsum=0;Stack<Integ......
  • JAVA+SQL办公自动化系统(毕设+实现+源码+数据库)
    摘  要极光办公自动化系统是针对南开创元信息技术有限公司开发的,专门用于企业内部员工信息交流的软件,其开发过程主要包括前端应用程序的开发和后端数据库的建立两个方面。对于前者要求应用程序功能完备操作简单,对于后者要求建立起数据一致性、完整性和安全性好的数据库......
  • Java 怎么获取支付宝Open ID
    在Java中获取支付宝用户的OpenID,通常是通过支付宝的开放平台API来完成的。OpenID是支付宝用于唯一标识一个支付宝用户的字符串,它在OAuth授权流程中被用来获取用户的身份和权限。下面我将给出一个基于Java使用SpringBoot框架和支付宝开放平台SDK来获取用户OpenID的详细步骤和示例......
  • Java后端面试题(redis相关1)(day7)
    目录为什么要用Redis?Redis到底是多线程还是单线程?Redis数据持久化机制RDB方式AOF方式Redis是单线程,但为什么快?Redis过期删除策略Redis内存淘汰策略为什么要用Redis?基于内存操作,内存读写速度快支持多种数据类型,包括String、Hash、List、Set、ZSet等支持持久化,Redi......
  • Java设计模式和AOP编程
    Java六大设计原则;Java23种设计模式(在此介绍三种设计模式)Java设计模式单例模式应用场景:spring中bean的作用域用的就是单例模式//基本的单例模式————懒汉式publicclassstudent{//3.创建static修饰的成员变量privatestaticstudentstu;//1.设计私......
  • Java方法06:递归
    A方法调用B方法,我们很容易理解!递归就是:A方法调用A方法!就是自己调用自己,因此我们在设计递归算法时,一定要指明什么时候自己不调用自己。否则,就是个死循环!递归算法重点:递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是“自己调用自己”,一个使用递归技术的方......
  • Java方法03:方法的重载
    上面使用的max方法仅仅适用于int型数据。但如果你想得到两个浮点类型数据的最大值呢?解决方法是创建另一个有相同名字但参数不同的方法,如下面代码所示:publicstaticdoublemax(doublenum1,doublenum2){ if(num1>num2){ returnnum1; }else{ returnnum2; }}......
  • Java方法04:拓展命令行传参
    有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。命令行参数是在执行程序时候紧跟在程序名字后面的信息。【下面的程序打印所有的命令行参数】publicclassCommandLine{ publicstaticvoidmain(Stringargs[]){ for(inti=0;i<arg......
  • Java方法05:可变参数
    JDK1.5开始,Java支持传递同类型的可变参数给一个方法。方法的可变参数的声明如下所示:typeName...parameterName在方法声明中,在指定参数类型后加一个省略号(...)。一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。publicsta......
  • 基于YOLOv10深度学习的交通信号灯检测识别系统【python源码+Pyqt5界面+数据集+训练代
    《博主简介》小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~......