java编码108条规则总结

Java编码规范 Java编码规范要求 阅读详情
1、保持原有风格。
2、坚持最少惊讶的原则。
3、第一次就把事情做对。
4、记录所有非规范行为。
5、缩进嵌套代码。
6、拆分长行。
7、包含空白空间。
8、不要应用“难以忍受的”TAB 键。
9、使用有意义的名字。
10、 使用人们熟悉的名字。
11、 慎重使用过长的名字。
12、 加入元音字符。
13、 大写首字母缩略词的第一个字母。
14、 不要使用只通过大小写区分的名称。
15、 使用公司域名的倒置小写形式作为包名的权限定词。
16、 使用单独小写的单词作为每个包的根名。
17、 仅当新旧版本二进制兼容时, 其包名可以使用相同的名字, 否则请使用新名字。
18、 大写类和接口中每个单词的首字母。
19、 用名词命名类。
20、 复数化表示成组的属性、静态服务或常量的名字。
21、 用名词或者形容词命名接口。
22、 在方法命名中小写第一个单词并大写其他单词的首字母。
23、 用动词命名方法。
24、 遵循 JavaBeans 的约定来命名访问属性的方法。
25、 在变量命名中小写第一个单词并大写其他单词的首字母。
26、 应用名词命名变量。
27、 采用复数形式命名集合引用。
28、 为不重要的临时变量建立并使用一套标准的名字。
29、 用“this”限定成员变量来与本地变量区分。
30、 在构造函数或“set”方法中将参数赋值给成员变量时,用与成员变量相同的
名称作为参数命名
31、 命名常量时,每个单词用大写字母且每两个单词用下划线分隔。
32、 为你代码的使用和维护人员书写文档。
33、 保持注释和代码同步。
34、 应用主动语态,忽略无用的单词
35、 应用文档注释来描述编程接口。
36、 应用标准注释来隐藏代码而不是删除。
37、 应用单行注释来解释实现细节。
38、 在编写代码前描述编程接口。
39、 为公有、受保护、包和私有的成员建立文档。
40、 为每个包提供概述。
41、 为包的每个应用程序或组提供概述。
42、 对所有的文档注释使用统一格式和组织结构。
43、 将关键字、标识符和常量放在<code>……<code>标签中。
44、 将代码放入<pre>…</pre>标签中。
45、 在标识符第一次出现的时候用{@link}标签。
46、 为 javadoc 标签创建和使用一套固定的顺序。
47、 叙述使用第三人称形式。
48、 编写独立的概述。
49、 省略行为或服务概述中的主题。
50、 省略事物描述中的主题和动词。
51、 当提及当前类的实例时用“this”而非“the”。
52、 不要为方法或构造函数增加圆括弧,除非你想指定某特殊意义。
53、 为每个类、接口、域和方法提供概述。
54、 充分描述每个方法的标记。
55、 包含示例。
56、 为前置、后置和不变条件编写文档。
57、 为已知的缺陷和不足编写文档。
58、 为同步语义书写文档。
59、 仅添加能够帮助理解你代码的内部注释。
60、 描述代码为什么这么做,而不是在做什么。
61、 避免使用行尾注释。
62、 用行尾注释解释局部变量声明。
63、 创建并使用一组关键字来标明尚未解决的问题。
64、 在嵌套程度高的控制结构中标记出嵌套结束位置。
65、 如果两个 case 标记之间没有 break 语句,则在它们之间加入“fall-through”
注释。
66、 标记空语句。
67、 将表示基础数据类型的类声明为 final。
68、 通过本地类型和其他的具体类型来创建具体类型
69、 定义小的类和方法。
70、 定义子类,以便能够使用超类的地方都可以使用子类。
71、 将所有字段私有化。
72、 使用多态来代替 instanceof。
73、 以 java.lang.Object 包装通用类,提供静态类型检查。
74、 以类的形式封装枚举类型。
75、 应用等价的方法替代重复、复杂的表达式。
76、 使用块语句代替控制流结构中的表达式。
77、 使用括号明确操作顺序。
78、 在 switch 最后一个 case 语句中使用 break 语句。
79、 使用 equals(),而不是==来检测对象的对等关系。
80、 构造状态有效的对象。
81、 不要在构造函数中调用一个非 final 的方法。
82、 用嵌套的构造函数来消除冗余。
83、 应用不受检查、运行时异常来报告可能发生在程序逻辑中出错的严重未查明的
错误。
84、 应用检查异常来报告可能发生、而在正常情况下很少发生的错误。
85、 应用返回代码报告可预知的状态变化。
86、 仅转换异常来添加信息。
87、 不要私自处理运行时或错误异常。
88、 应用 finally 块来释放资源。
89、 按照约定编程。
90、 应用无用代码消除机制来实现断言。
91、 应用断言来捕获代码中的逻辑错误。
92、 应用断言来检测方法的前置和后置条件。
93、 仅在适当的地方使用线程。
94、 避免同步。
95、 应用同步包装器来提供同步接口。
96、 如果方法中包含不需要同步的重要操作,那么不要同步整个方法。
97、 读写实例变量时避免不必要的同步。
98、 使用 notify()而不是 notifyAll()。
99、 为同步初始化使用双重检查模式。
100、 使用懒惰初始化。
101、 避免创建不必要的对象。
102、 重新初始化并重复使用对象来避免创建新对象
103、 把优化工作放到最后。
104、 将经常使用、变化、发布或者相互依赖的类放置在同一包中。
105、 将不稳定的类和接口放在单独的包中。
106、 避免让不易于变化的类依赖于易于变化的类。
107、 最大化的抽象已达到最大的稳定性。
108、 将高层次的设计和架构作为稳定的抽象,组织为稳定的包
掌握Java中的文件编码获取方法 ASCII (American Standard Code for Information Interchange) 是最早的字符编码标准,用于显示现代英语和其他西欧语言。它基于拉丁字母,是字符编码系统中最基础的一部分。在Java中,字符集是Charset类的实例,用于将字符编码为字节序列,或者将字节序列解码为字符。字符集的定义是执行这些转换的算法。字符集的使用非常重要,因为它能够确保数据在不同的系统之间传输时不会丢失或者出现乱码。 阅读详情

相关推荐

java编码规范原则

描述了java编写程序时需要注意的东西,使编码规范

Java编程风格

在用一种语言编辑时遵守该语言的编程风格是非常重要的,否则编写的代码将难以阅读,给后期的维护带来诸多不便。例如,一个程序员将许多代码都写在一行,尽管程序可以正确的编译和运行,但是这样的代码几乎无法阅读,其他程序员无法容忍这样的代码,本次将为大家介绍一些最基本的编程风格。 在编写java程序时,许多地方都会涉及使用一对大括号,例如类的类体、方法的方法体、循环语句的循环体以及分支语句的分支体等都使用一对大括号括起若干内容,即俗称的“代码块”都是用一对大括号括起的若干内容。“代码块...

qq_30326403的博客 2994

《Java编程风格》翻译版.pdf

The Elements of Java Style,《Java编程风格》翻译版.pdf ,免费

java编程风格

1、保持原有风格。 2、坚持最少惊讶的原则。 3、第一次就把事情做对。 4、记录所有非规范行为。 5、缩进嵌套代码。 6、拆分长行。 7、包含空白空间。 8、不要应用“难以忍受的”TAB 键。 9、使用有意义的名字。 10、 使用人们熟悉的名字。 11、 慎重使用过长的名字。 12、 加入元音字符。 13、 大写首字母缩略词的第一个字母。 14、 不要使用只通过大小写区分的

bearman的博客 664

堆内存管理核心逻辑 超详细复习笔记

本文详细解析了堆内存管理的核心逻辑,包括初始化、分配和释放三个关键环节。系统通过全局堆管理结构体和链表机制实现动态内存管理:初始化时标记整块内存为空闲;分配时遍历链表查找合适空闲块并进行分割;释放时定位内存块头并重新标记为空闲,支持相邻块合并以减少碎片。文章对比了链表式管理和线性分配的优缺点,指出链表式更灵活但实现复杂,线性分配简单但无法释放。最后总结了常见错误(如指针回推错误、碎片问题)和扩展知识(不同内存管理算法)。这套机制是理解嵌入式系统和RTOS内存管理的基础。

2502_92009732的博客 1204

RK3588网络调试笔记:当我把默认RTL8211F PHY换成另一款时,踩了哪些坑?

本文详细记录了在RK3588平台上将默认RTL8211F PHY芯片替换为其他型号的全过程,包括硬件设计验证、内核驱动适配、复位时序配置等关键步骤。通过实际案例分享,提供了从驱动调试到硬件优化的系统性解决方案,帮助开发者高效完成PHY芯片替换,确保网络接口稳定性。

weixin_30291791的博客 669

Java编码规范:提升代码质量和团队协作效率的关键实践

遵守Java编码规范是提高代码质量、降低维护成本、提升团队协作效率的有效途径。优秀的程序员不仅需要具备扎实的技术基础,更要注重代码的艺术,写出优雅且高效的代码。通过持续学习并实践这些编码规范,每一位Java开发者都能不断提升自己的编程水平,打造出更为卓越的软件产品。

聚焦于深度解析最新的编程语言特性、框架升级、架构设计、开发工具和最佳实践,涵盖Web前端(如Vue3, React, Angular等)、后端开发(如Node.js, Java, Python等)、移动端开发(iOS, Android原生及跨平台开发) 3万+

OpenMV模块视觉测距(避障)+颜色识别+TFT-LCD显示(实现原理与代码分析)

上图所示代码实际运行的帧率比较低,主要原因有以下两个:1.硬件问题,博主使用的版本比较低,可以尝试使用高版本OpenMV2.图像滤波问题。之前加入图像滤波是想提高色块识别的准确性,但是相应的运算速度也会下降。

ediykk的博客 1万+

七位世界级Java大师的杰作

  七位世界级Java大师的杰作——《Java编程风格》  详细信息:http://www.china-pub.com/209170 一本薄薄的小书,却有7个作者,Amazon上获得33位读者如潮好评——这是一本怎样的奇书?本书是一部久经考验、短小精悍的Java编程规范,结合了世界领先的企业级组件和基础架构软件开发商Rogue Wave公司和著名软件工程专家Sc

图灵教育 2470

抖音X-Medusa风控逆向:unidbg环境重建与魔改AES还原

X-Medusa并非传统加密算法,而是深度耦合运行时环境的动态混淆系统,其核心是硬件指纹感知、线程上下文绑定与非标AES变异。理解其原理需跳出‘找密钥’思维,转向对CPU型号、系统属性、微秒级时间及内存布局的综合建模。技术价值在于将不可控的客户端风控,转化为可复现、可配置、可运维的服务化能力;典型应用场景包括合规数据采集、API协议适配与移动安全研究。本文聚焦Android native层逆向实践,基于unidbg实现高保真环境模拟,并完整还原S-Box动态生成、MixColumns矩阵变异与轮密钥XOR扰

weixin_33783283的博客 691

项目经理面试 5 大高频题 + 实战回答模板,帮你稳拿 offer

项目经理面试5大高频问题及应答技巧 摘要:本文总结了项目经理岗位常见的5个面试问题及回答策略,帮助求职者更有针对性地准备面试。核心问题包括:1)描述负责过的典型项目;2)常用项目管理工具;3)项目遇到的挑战及解决方案;4)风险管理方法;5)项目成功标准。每个问题都从面试官考察重点、回答技巧、实战案例三个维度进行分析,强调要用STAR法则(情境-任务-行动-结果)结构化表达,突出解决问题的能力而非简单罗列经历。特别提醒要量化项目成果(如提前2周上线、节省8%预算等),并注意展示商业思维和团队协作能力。

逸尘谈PM 2108

以太坊RLP编码规则

前言 以太坊又在重复造轮子了,其实他完全可以使用thrift。 RLP目前只有以太坊在用,是以太坊自创的编码规则。存储空间比json少很多,但是可阅读性不如json。另外市面上还有thrift, google Protocol Buffer(PB)协议都是广泛应用的性能很好的结构化数据存储格式。 所以如果不是研究以太坊,RLP可以不学,学那些应用面更广法的就行了。 那么学习RLP也有一个好处,就是...

刘本龙的专栏 1735

游戏开发中的CV:实时动作捕捉与虚拟交互

游戏开发中的CV:实时动作捕捉与虚拟交互​ ,人工智能,计算机视觉,大模型,AI,在当今游戏产业中,玩家对游戏体验的要求日益提高,追求更加真实、沉浸的交互感受。计算机视觉(Computer Vision,CV)技术的飞速发展,为游戏开发带来了革命性的突破,其中实时动作捕捉与虚拟交互技术更是成为提升游戏品质的核心驱动力。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 16万+

赫夫曼编码

1、基本介绍 赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法 赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。 赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间 赫夫曼码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,称之为最佳编码 2、原理剖析 通信领域中信息的处理方式1-定长编码 i like like like java do you like a java //

技术积累,技术分享 6266

YOLOv8【第十章:多任务扩展深度篇·第1节】YOLOv8-Seg 实例分割:Mask原型生成与系数预测原理解析!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1813

uniapp [全端兼容] - 实现全景图Vr 720°全景效果查看预览功能,3D全景图流畅不卡顿渲染+手势拖拽+悬浮工具按钮,uniAPP实现vr看720度全景效果示例代码(H5小程序APP全兼容)

uniapp显示720度全景图,720°全景图显示,在h5中展示720°全景图,浏览全景图,基于uniApp实现vr全景预览,加载全景图,uni-app全景预览插件,UNI-APP实现3D全景图,实现720°全景图展示,uniapp全景视频播放,uniapp项目实现vr720度全景图片预览,在网页上展示760全景图片和视频,全景图场景切换,UNIAPP全景VR图,uniapp加载720全景图_uniapp怎么加载vr图片,uniapp实现vr全景看房,uni-app实现全景效果,加载很慢卡怎么办,实现全景预

🏆 前端领域优质创作者 1万+

java 编码

  先看一个字符串   String str = "Hello 简体 繁體 한국어 ";   字符串本无编码,就是一个字符串,但是计算机不能保存字符串,只能以二进制的形式保存,所以就会有字符串到二进制的转换动作,这个转换的规则叫编码规则,不同的规则就是不同的编码,比如gbk,gb2312,utf-8 下面看一个例子     import java.io.Unsupporte...

benx 188

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

gbk编码在线转换_从 String.getBytes 理解 Java 编码和解码

原码,补码,反码因为原码,补码,反码比较简单,我这里粘贴一个例子进行展示。Unicode 和 UTF-8 的关系Uincode 是一个字符集。它规定了我们使用到的字或符号的码点(code point)。码点使用 16 进制保存。Uincode 字符集规定 一 的码点为 4E00。 Uincode 字符集规定 丁 的码点为 4E01。 计算机呢只能识别二进制的 0 和 1。而 UTF-8 指的是编码...

weixin_39647977的博客 747

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 第一章:spring整体架构与环境搭建
下一篇: Git Pull Failed: Could not read from remote repository
Code Space
博客等级 码龄14年 8粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值