《Java开发手册》核心内容

文章目录

  • 引言
  • I 编程规约
  • II 异常日志
  • III 单元测试 :
  • IV 安全规约 :
  • V MySQL数据库:
  • VI 工程结构 :
  • VII 设计规约 :

引言

手册的愿景是提升代码质量和开发效率,通过规范化的编码实践来减少错误和提高系统的稳定性。

I 编程规约

  • 命名风格:规定了命名的一致性和规范性,避免使用下划线或美元符号开头和结尾,禁止使用拼音
    与英文混合的方式,强调类名、方法名、变量名等的命名规范。
  • 常量定义:禁止使用魔法值,强调使用大写字母和下划线命名常量,避免使用一个常量类维护所有常量。
  • 代码格式 :规定了代码的格式化标准,包括大括号的使用、空格的使用、缩进、注释等。
  • OOP规约:强调避免通过对象引用访问静态变量或方法,覆写方法必须加 @Override注解,避免使用过时的类或方法。
  • 日期时间 :规定了日期格式化的标准和获取当前毫秒数的方法。
  • 集合处理 :强调使用 isEmpty()方法判断集合是否为空,避免在 toMap()方法中忽略
    mergeFunction。
  • 并发处理 :强调线程安全和锁的使用规范,避免使用 Executors创建线程池。
  • 控制语句 :规定了 switch语句的使用规范,避免在高并发场景中使用“等于”判断。
  • 注释规约 :强调使用Javadoc规范&#

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《C++11》静态断言(Static Assert)的使用与优势

C11引入了许多新特性,其中之一就是静态断言(Static Assert)。这是一种在编译时期进行断言的机制,它可以帮助我们在编译阶段就发现错误,而不是等到运行时才发现。这样可以大大提高代码的质量和稳定性。本文将详细介绍静…

cv::moments

1、 代表所有像素值之和。 2、 代表所有像素值乘以该位置处的x坐标,然后再求和。 3、 代表所有像素值乘以该位置处的y坐标,然后再求和。 4、 5、

Dart语言的数据结构

Dart语言中的数据结构探讨 引言 Dart是一种现代化的编程语言,主要用于构建移动应用、Web应用和服务端应用。随着应用程序的复杂性日益增加,选择合适的数据结构显得尤为重要。数据结构不仅影响程序的性能,也影响程序的可维护性和可扩展性。本…

JavaScript-正则表达式方法(RegExp)

RegExp 对象用于将文本与一个模式匹配。 有两种方法可以创建一个 RegExp 对象:一种是字面量,另一种是构造函数。 字面量由斜杠 (/) 包围而不是引号包围。 构造函数的字符串参数由引号而不是斜杠包围。 new RegExp(pattern[, flags])一.符集合 1.选择…

如何解决Outlook无法连接到服务器的问题

Microsoft Outlook 是一款广泛使用的电子邮件客户端,它能够帮助用户高效地管理邮箱、日历和任务。然而,尽管其功能强大,用户有时会遇到“Outlook无法连接到服务器”的问题。这种问题通常会让用户无法接收或发送电子邮件,甚至可能导…

CSS 元素的显示模式(块元素,行内元素,行内块元素)

一. 块元素(block) 又称:块级元素 特点: 1. 在页面中独占一行,不会与任何元素共用一行,是从上到下排列的。 2. 默认宽度:撑满父元素。 3. 默认高度:由内容撑开。 4. 可以通过 CSS 设…

Apache搭建https服务器

Apache搭建https服务器 REF: 使用OpenSSL自建一个HTTPS服务

线上工单引发的思考:Spring Boot 中 @Autowired 与 @Resource 的区别

最近接手了离职同事负责的业务,在处理一个线上工单的时候,看了下历史逻辑,在阅读他们写的代码时,发现他们竟然把Autowired和Resource注解混用。今天就借此机会聊聊SpringBoot项目中这两者之间的区别。 1. 注解来源 Autowired&am…

React 第三方状态管理库相关 -- Redux MobX 篇

一、redux 首先安装依赖: npm install redux react-redux reduxjs/toolkit 示例代码: // src/store/index.js import { configureStore } from reduxjs/toolkit import couterSlice from ./couterSliceconst store configureStore({reducer:{coute…

从Arrays源码学习定义工具类

背景 在日常编码中,一个比较好的实践是:我们把一些业务无关的、可复用的一些通用逻辑,封装成工具类、甚至jar包。这样一方面方便通用代码抽取、代码复用,同时也隔离经常变动的业务代码和不变的通用代码。那如何定义好一个工具类呢…

spark,读取和写入同一张表问题

读取a表,写入a表 1.写入的是分区表,不报错 2.读取上来之后,创建为临时视图temp,然后先写入a表,再使用temp,就会报错 解决办法:可以先使用temp,再写入a表 3.写入的不是分区表&…

工作记录小点

postman问题 postman 返回404 可以先看看这个模块是否集成到pom文件中 postman 返回200不调debug 请求参数Json有错误请求方式不对Get/Post debug报错连接失败 host文件没copy同事的 2.对应组件的不同服务白名单没添加导致的 host文件刷新 进入 C:\windows\system32\drivers\e…

GaussDB中的Vacuum和Analyze

GaussDB中的Vacuum和Analyze 基本概念与区别手动Vacuum和Analyze查看Vacuum和Analyze记录Autovacuum配置参数 基本概念与区别 使用VACUUM、VACUUM FULL和ANALYZE命令定期对每个表进行维护,主要有以下原因: VACUUM FULL可回收已更新或已删除的数据所占据…

w~Transformer~合集11

我自己的原文哦~ https://blog.51cto.com/whaosoft/12472192 #LightSeq 最高加速9倍!字节跳动开源8比特混合精度Transformer引擎,近年来,Transformer 已经成为了 NLP 和 CV 等领域的主流模型,但庞大的模型参数限制了它的高效训练和推理。…

【Rust自学】13.1. 闭包 Pt.1:什么是闭包、如何使用闭包

13.1.0. 写在正文之前 Rust语言在设计过程中收到了很多语言的启发,而函数式编程对Rust产生了非常显著的影响。函数式编程通常包括通过将函数作为值传递给参数、从其他函数返回它们、将它们分配给变量以供以后执行等等。 在本章中,我们会讨论 Rust 的一…

Linux服务器配置onnxruntime-gpu

本文实现 onnxruntime-gpu 不依赖于服务器主机上 cuda 和 cudnn,仅使用虚拟环境中的 cuda 依赖包实现 onnx GPU 推理加速的安装教程。为了适配推理节点,因此我们仅在 base 下配置环境,不需要重新创建新的虚拟环境。 升级 pip pip install -…

AWS云平台上生成式AI通过项目文档内容分析获知项目风险

要在AWS云平台上设计和实施高性能系统,同时使用生成式人工智能识别项目风险来分析项目文档内容。 利用生成式AI分析项目文档并协助风险管理可以显著提高识别和解决AWS上托管的复杂项目中的风险的速度、准确性和效率。通过将AI的功能与传统的项目管理最佳实践相结合&…

近红外简单ROI分析matlab(NIRS_SPM)

本次笔记主要想验证上篇近红外分析是否正确,因为叠加平均有不同的计算方法,一种是直接将每个通道的5分钟实时长单独进行叠加平均,另一种是将通道划分为1分钟的片段,将感兴趣的通道数据进行对应叠加平均,得到一个总平均…

G1原理—5.G1垃圾回收过程之Mixed GC

大纲 1.Mixed GC混合回收是什么 2.YGC可作为Mixed GC的初始标记阶段 3.Mixed GC并发标记算法详解(一) 4.Mixed GC并发标记算法详解(二) 5.Mixed GC并发标记算法详解(三) 6.并发标记的三色标记法 7.三色标记法如何解决错标漏标问题 8.SATB如何解决错标漏标问题 9.重新梳…

springBoot项目使用Elasticsearch教程

目录 一、引言(一)使用背景(二)版本库区别 二、引入依赖(一)springboot集成的es依赖(建议)(二)es提供的客户端库 三、配置(以yaml文件为例&#x…