当前位置: 首页 > news >正文

java开发宝典

Java命名规范

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

   反例:_name / __name / $name / name_ / name$ / name__ 。

2:禁止使用拼音和英文混合。

   反例:DaZhePromotion [打折] / getPingfenByName()

3:类名,大驼峰式命名法:Name,MyFirstName

   方法名、参数名、成员变量、局部变量都统一使用小驼峰式命名法,

小驼峰:name,myFirstName

   

4:常量命名全部大写,单词间用下划线隔开;

   例:MAX_STOCK_COUNT / CACHE_EXPIRED_TIME 。

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

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

   

6:boolean类型变量,不要以is开头,避免部分序列化框架出错。

   反例:boolean isExists。

   

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

   反例:AbstractClass“缩写”成AbsClass;condition“缩写”成 condi。

   

8:对于Service和DAO类,一定是接口,实现需要以Impl的后缀结尾。区别于接口

   例:CacheService CacheServiceImpl。

9枚举类名带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。

10类接口中属性和方法不要加任何修饰符。

常量定义

1. 不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。  反例:String key = “id=” + id;

2. long和Long初始赋值时,必须使用大写,为了避免和数字1搞混。

例:Long a = 2L   反例:Long a = 2l

3. 不要使用一个常量类维护所有常量,尽可能根据功能进行拆分归类,分开维护。便于理解和维护。

代码格式

1. 如果是大括号内为空,则写成{}即可,大括号中间无需换行和空格;

   如果是非空代码块则:

     ( 1) 左大括号前不换行,左大括号后换行。  

      (2) 右大括号前换行。  

2. 左括号与后一个字符之间不出现空格,右括号与前一个字符之间不出现空格

     例:if (flag == 0)。

3. if/for/while/switch/do 等保留字与括号之间都必须加空格。

4. 何二目、三目运算符的左右两边都需要加一个空格。

5. 注释的双斜线与注释内容之间有且仅有一个空格。

6:方法参数在定义和传入时,多个参数逗号后必须加空格。

     例:method(“a”, “b”, “c”);

相关文章:

java开发宝典

Java命名规范 1:代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name / __name / $name / name_ / name$ / name__ 。 2:禁止使用拼音和英文混合。 反例:DaZhePromotion [打折] / …...

【图论实战】 Boost学习 03:dijkstra_shortest_paths

文章目录 示例代码 示例 最短路径: A -> C -> D -> F -> E -> G 长度 16 代码 #include <iostream> #include <boost/graph/adjacency_list.hpp> #include <boost/graph/dijkstra_shortest_paths.hpp> #include <boost/graph/graphviz.h…...

嵌入式养成计划-52----ARM--开发板介绍--相关硬件基础内容介绍--GPIO讲解

一百三十一、开发板介绍 131.1 核心板介绍 131.2 拓展板 一百三十二、相关硬件基础内容介绍 132.1 PCB PCB&#xff08; Printed Circuit Board&#xff09;&#xff0c;中文名称为印制电路板&#xff0c;又称印刷线路板&#xff0c; 是重要的电子部件&#xff0c;是电子元器…...

线性代数-Python-04:线性系统+高斯消元的实现

文章目录 1 线性系统2 高斯-jordon消元法的实现2.1 Matrix2.2 Vector2.3 线性系统 3 行最简形式4 线性方程组的结构5 线性方程组-通用高斯消元的实现5.1 global5.2 Vector-引入is_zero5.3 LinearSystem5.4 main 1 线性系统 2 高斯-jordon消元法的实现 2.1 Matrix from .Vecto…...

python能用来做什么

Python是一种流行的编程语言&#xff0c;由Guido van Rossum创建&#xff0c;并于1991年发布。 它用于&#xff1a; Web开发&#xff08;服务器端&#xff09;&#xff1b; 软件开发&#xff0c;数学计算&#xff0c;系统脚本编写。 Python能做什么&#xff1f; Python可以…...

springboot引入外部jar,package打包报错找不到程序包XXX

springboot引入外包jar包有两种方法&#xff1a; 一、第一种&#xff1a; 点击idea左上角file&#xff0c;然后点击project选择Modules&#xff0c;点击右侧Dependencies&#xff0c;点击右侧加号选择JARs or directories,然后选择要导入的jar包。这种方式&#xff0c;引入ja…...

GDPU 数据结构 天码行空9

实验九 哈夫曼编码 一、【实验目的】 1、理解哈夫曼树的基本概念 2、掌握哈夫曼树的构造及数据结构设计 3、掌握哈夫曼编码问题设计和实现 二、【实验内容】 1、假设用于通信的电文仅由8个字母 {a, b, c, d, e, f, g, h} 构成&#xff0c;它们在电文中出现的概率分别为{ 0.…...

ISP算法——UVNR

ISP算法——UVNR 概念简介 UVNR也就是经过CSC只有在YUV域对UV两个色域进行降噪&#xff0c;在有些方案里也叫CNR&#xff08;chroma noise reduction&#xff09;。主要就是在YUV域针对彩燥进行特殊处理的一系列算法。 关于噪声产生的原因在前面关于降噪的文章和视频中已经做…...

双十一“静悄悄”?VR购物拉满沉浸式购物体验

以往每年的双十一&#xff0c;都会因为电商购物狂欢而变得热闹非凡&#xff0c;而各大电商平台也会在这天推出各种促销活动。但是&#xff0c;近几年来&#xff0c;双十一正在变得“静悄悄”。一个原因是消费群体越发理性消费&#xff0c;更加重视商品本身的质量和体验&#xf…...

(动手学习深度学习)第13章 计算机视觉---图像增广与微调

13.1 图像增广 总结 数据增广通过变形数据来获取多样性从而使得模型泛化性能更好常见图片增广包裹翻转、切割、变色。 图像增广代码实现...

Linux安装MySQL8.0服务

Linux安装MySQL8.0服务 文章目录 Linux安装MySQL8.0服务一、卸载1.1 查看mariadb1.2 卸载 二、安装2.1 下载2.2 上传2.3 解压2.4 重命名2.5 删除2.6 创建目录2.7 环境变量2.8 修改配置2.9 配置文件2.9 用户与用户组2.10 初始化2.11 其它 三、开启远程连接MySQL 一、卸载 首先第…...

地区 IP 库

地区 & IP 库 yudao-spring-boot-starter-biz-ip (opens new window)业务组件&#xff0c;提供地区 & IP 库的封装。 #1. 地区 AreaUtils (opens new window)是地区工具类&#xff0c;可以查询中国的省、市、区县&#xff0c;也可以查询国外的国家。 它的数据来自 …...

MySQL查询语句练习题,测试基本够用了

1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下&#xff1a; CREATE TA…...

删除word最后一页之后的空白页

最近编辑word比较多&#xff0c;有时最后一页&#xff08;最后一页内容还有可能是表格&#xff09;之后&#xff0c;还有一页空白页&#xff0c;单独按下backspace、del都删不掉&#xff0c;很让人着急。 经过查询有几种方法&#xff1a; &#xff08;1&#xff09;点击选中空…...

基于站点、模式、遥感多源降水数据融合实践技术应用

降水在水循环中发挥着重要作用&#xff0c;塑造了生态景观和生态系统。目前&#xff0c;有四种主要方式获取降水数据&#xff1a;1&#xff09;雨量计观测&#xff0c;2&#xff09;地基雷达遥感&#xff0c;3&#xff09;卫星遥感&#xff0c;4&#xff09;模式模拟。基于雨量…...

html与django实现多级数据联动

html与django实现多级数据联动 1、流程 1、进入页面后先获取年级数据 2、选择年级后获取院级数据 3、选择院级后获取层次数据 4、选择层次数据后获取专业数据 2、html代码 <p style"margin-top: 10px;"><label>年级</label><select id"…...

网络安全-黑客技术-小白学习

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…...

.NET关于 跳过SSL中遇到的问题

一、事件的起因: 起因:开发项目过程中,可能会遇到 调用其他系统的接口 以及 代码中历史开发人员留下的IP接口访问等问题,后面该项目由自己负责,其他系统全部迁移到容器里面,只提供域名去访问。 问题:访问已迁移到容器其他系统,那么用IP地址访问肯定无法调用成功,只能用…...

fpga时序相关概念与理解

一、基本概念理解 对于数字系统而言&#xff0c;建立时间&#xff08;setup time&#xff09;和保持时间&#xff08;hold time&#xff09;是数字电路时序的基础。数字电路系统的稳定性&#xff0c;基本取决于时序是否满足建立时间和保持时间。 建立时间Tsu&#xff1a;触发器…...

安卓常见设计模式12------观察者模式(Kotlin版、Livedata、Flow)

1. W1 是什么&#xff0c;什么是观察者模式&#xff1f;​ 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;用于实现组件间的松耦合通信。主要对象有观察者接口&#xff08;Observer&#xff09;和可观察对象&#xff08;Observable&…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...