学习嵩山版《Java 开发手册》:编程规约 - 常量定义(P1 ~ P2)

概述

  1. 《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,他旨在提升开发效率和代码质量

  2. 《Java 开发手册》是一本极具价值的 Java 开发规范指南,对于提升开发者的综合素质和代码质量具有重要意义

  3. 学习《Java 开发手册》是一个提升 Java 编程技能、了解行业最佳实践和规范的好方法


编程规约 - 常量定义 P1

1、基本介绍
  • 【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。
// 反例// 本例中,开发者 A 定义了缓存的 key,然后开发者 B 使用缓存时少了下划线
// 即 key 是"Id#taobao"+tradeId,导致出现故障
String key = "Id#taobao_" + tradeId;
cache.put(key, value);
2、学习补充
  • 魔法值是指那些直接出现在代码中的字面量值,这些值没有通过常量或变量进行定义和命名,缺乏明确的语义和可读性
  1. 可读性差:魔法值使得代码难以阅读和理解,因为它们没有明确的命名和解释

  2. 可维护性差:当需要修改魔法值时,开发者可能需要在代码的多个地方进行搜索和替换,这增加了维护的复杂性

  • 避免魔法值的方法如下
  1. 使用常量:将魔法值替换为常量,并通过命名来赋予它们明确的语义,当需要修改这些值时,只需要修改常量的定义

  2. 封装逻辑:将相关的魔法值封装在方法或类中,通过参数传递或返回值来获取这些值,提高代码的可读性和可维护性


编程规约 - 常量定义 P2

1、基本介绍
  • 【强制】在 long 或者 Long 赋值时,数值后使用大写字母 L,不能是小写字母 l,小写容易跟数字混淆,造成误解。

  • 说明:Long a = 2l; 写的是数字的 21,还是 Long 型的 2?

2、学习补充
(1)带有后缀的数据类型
  1. float:float 赋值时,需要在数字后面加上 F 或 f 后缀,推荐使用 F 后缀
// 推荐使用 F 后缀
float a = 2.0F;// 不推荐使用 f 后缀
float b = 2.0f;
  1. double:double 赋值时,可以在数字后面加上 D 或 d 后缀,但是推荐不加,因为它是 Java 中的默认浮点类型
// 不推荐使用 d 后缀
double a = 2.0d;// 不推荐使用 D 后缀
double b = 2.0D;// 推荐不加后缀
double c = 2.0;
  1. long:long 赋值时,需要在数字后面加上 L 或 l 后缀,推荐使用 L 后缀
// 推荐使用 L 后缀
long a = 2L;// 不推荐使用 l 后缀
long b = 2l;
(2)不同的进制数
  1. 二进制:以 0b 或 0B 开头,推荐使用 0b 后缀
// 使用 0B 后缀
int b = 0B1010;// 推荐使用 0b 后缀
int a = 0b1010;
  1. 八进制:以 0 开头,不推荐使用
// 不推荐使用
int a = 01010;
  1. 十进制:默认
// 默认
int a = 1010;
  1. 十六进制:以 0x 或 0X 开头,推荐使用 0x 后缀
// 使用 0X 后缀
int b = 0X1010;// 推荐使用 0x 后缀
int a = 0x1010;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/35800.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

告别充电焦虑:移动充电机器人的革命性解决方案

移动充电机器人作为新能源汽车领域的黑科技,正逐渐崭露头角。它的出现为电动汽车充电带来了全新的解决方案,解决了传统充电方式的诸多痛点。 新能源汽车具有诸多优点,如科技含量高、噪音小、使用成本低等,但 “续航焦虑”“充电焦…

【启明智显分享】ESP32-P4方案4.3寸触摸屏来袭!支持MIPI CSI摄像头接口

家人们,你们一直在等的ESP32-P4方案4.3寸触摸屏它来了! 启明智显全新推出的ESP32-P4 4.3寸IPS触摸屏,搭载强大的双核400MHz RISC-V处理器,配备32MB PSRAM和16MB FLASH,分辨率800*480,性能和视觉体验再次突…

国内管理咨询公司哪家落地辅导做的好?

在当今快速变化的市场环境中,企业面临着前所未有的竞争压力与转型挑战。为了在这场没有硝烟的战争中脱颖而出,许多企业开始寻求外部专业力量的帮助,以期通过科学的管理咨询实现战略升级和业绩突破。而在众多的管理咨询公司中,思博…

【力扣】824.山羊拉丁文

问题描述 思路解析 首先把字符串通过空格分隔开来,用一个字符串数组来接收。因为要经常加上字符,所以使用 StringBuilder ,最后再进行转化然后检验首字母是否为元音,因为元音字母加上其大小写比较多,所以用一个字符串…

二叉树OJ题

带值的多层递归 对二叉树的递归性质做一个更好的补充。 提到二叉树的递归,我们首相想到的就是二叉树的深度优先遍历(根遍历)。对于求二叉树结点的个数,同样可以用递归来实现(带值的多层递归)。 1、二叉树的…

算法刷题Day11: BM33 二叉树的镜像

点击题目链接 思路 转换为子问题:左右子树相反转。遍历手法:后序遍历 代码 class Solution:def Transverse(self,root: TreeNode):if root None:return rootnewleft self.Transverse(root.left)newright self.Transverse(root.right)# 对root节点…

leetcode104.二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入:root [1,null,2] 输出…

一体式远程IO(三格电子)

一、功能概述 1.1 设备结构 本产品是三格电子研发生产的一体式远程 IO 。通信有 Profinet 、EtherCAT、 EtherNet/IP 三种。IO 接口有:32 路数字量输入、32 路数字量输出 NPN、32 路数字量输出 PNP、16 路数字量输入 16 路数字量输出 NPN、16 路数字量输入 16 路数…

零碳新墅居 | 重新定义零碳美学,阳光新能源打开高端品智生活新可能

当下人们对于居住生活的期待,不再仅限于实用与舒适,更追求绿色、低碳、美观与智能的结合。在这一趋势下,零碳墅居生活正成为引领高端生活风尚的新范式。 11月初,PChouse太平洋家居网携手阳光家庭能源官宣成立的“零碳新墅居设计智…

库存看板在现代企业管理中的作用:如何通过看板系统提升库存流动性与效率?

库存管理是现代企业管理中的重要环节,尤其对于制造业、零售业及电商平台等行业,如何高效、精准地管理库存,避免过度库存积压或库存不足的情况,直接影响到公司的运营成本、资金周转、客户满意度等多个方面。而在众多库存管理方法中…

免押租赁系统助力资源共享新模式开创便捷租赁体验

内容概要 免押租赁系统,听起来是不是很酷?这个新模式不仅仅是为了让你少花点钱,它的到来简直就是个革命!以前,租东西时首先想到的就是那个令人心痛的押金,对吧?但现在,免押租赁系统…

Spring Boot 3 + Vue 3实战:实现用户登录功能

文章目录 一、实战概述二、实战步骤? (一)创建前端项目 - login-vue 1、创建Vue项目2、安装axios模块3、安装vue-router模块4、安装less和less-loader模块5、运行Vue项目6、在浏览器里访问首页7、在IDEA里打开Vue项目8、创建登录Vue组件9、创建首页Vue…

记录一次老平台改造通知用户刷新页面,纯前端实现

记录一次老平台改造通知用户刷新页面,纯前端实现 方案概述背景现状问题本质 方案设计前提设计实现 其他补充写在最后的话抛出一个问题 方案概述 背景 前端构建完上线,用户还停留还在老页面,用户不知道网页重新部署了,跳转页面的时…

11.12[CQU JAVEE_EXP3][JAVA WEB]3h速成JAVA WEB;DE启动Tomcat的各种BUG;GIT

GIT 如果有四个实验,但希望将四个实验保存在一个远程仓库当中,且分别有一个文件夹来区分,但是在本地写实验的时候,希望每次只打开一个实验,并且做完后向远程仓库中提交,不会拉取远程仓库中的其它实验代码 …

PYTHON编写API

API——application programming interface 全称为应用程序开发接口,是不同软件系统之间相互通信的桥梁。通过API,开发者可以通过标准化的请求和响应机制,访问服务器上的数据和功能,而无需了解具体的内部实现细节。在python中&am…

网络基础和UDP函数的简单使用

网络发展 最开始,计算机是独立的个体,因为需求需要计算机之间交换数据,由局域网(私网)–>广域网(公网),网络就逐渐发展起来了。 初识协议 协议就是一种约定 网络协议就是众多协…

Netty入门教程——认识Netty

Netty入门教程——认识Netty 什么是Netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke’s Choice …

调用大模型api 批量处理图像 保存到excel

最近需要调用大模型,并将结果保存到excel中,效果如下: 代码: import base64 from zhipuai import ZhipuAI import os import pandas as pd from openpyxl import Workbook from openpyxl.drawing.image import Image from io i…

Python基于TensorFlow实现BP和LSTM神经网络的空气质量预测并使用SHAP解释模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 随着工业化进程的加速和城市化的扩展,空气污染成为全球面临的主要环境问题之一。空气质…

高效查找秘密武器一:位图

有这样的一个问题: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数 中。 那么我们一般会想到这样做的 1.遍历,时间复杂度O(n) 2.排序(N*logN)&#xff0c…