欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java编码规范整理汇总

程序员文章站 2022-04-15 17:04:37
在Java的入门过程中,我们首先要养成一个良好的编写代码习惯。那么,了解清楚Java的编码规范就显得尤为必要了。编码格式不仅仅是美不美观的问题。这里我们可以试想一下,如果在Java开发中编码不规范,容易出现bug不说,而且后续还难以维护。因此,遵守编码规范可以让代码的风格好像是一个人写出来的,即使是 ......

java的入门过程中,我们首先要养成一个良好的编写代码习惯。那么,了解清楚java的编码规范就显得尤为必要了。编码格式不仅仅是美不美观的问题。这里我们可以试想一下,如果在java开发中编码不规范,容易出现bug不说,而且后续还难以维护。因此,遵守编码规范可以让代码的风格好像是一个人写出来的,即使是有很多人参与这个开发项目。

1、源文件基础

源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为 .java。源文件编码格式为utf-8。除了行结束符序列,ascii水平空格字符(0x20,即空格)是源文件中唯一允许出现的空白字符,这意味着所有其它字符串中的空白字符都要进行转义;制表符不用于缩进。对于具有特殊转义序列的任何字符(\b, \t, \n, \f, \r, ", '及),我们使用它的转义序列,而不是相应的八进制(比如 \012)或unicode(比如 \u000a)转义。对于剩余的非ascii字符,是使用实际的unicode字符(比如∞),还是使用等价的unicode转义符(比如\u221e),取决于哪个能让代码更易于阅读和理解。

2、源文件结构

一个源文件包含(按顺序地):许可证或版权信息;package语句;import语句;一个*类。以上每个部分之间用一个空行隔开。如果一个文件包含许可证或版权信息,那么它应当被放在文件最前面。package语句不换行,列限制(4.4节)并不适用于package语句。import不要使用通配符,不要换行。

3、格式

大括号与 if,else,for,do,while语句一起使用,即使只有一条语句(或是空),也应该把大括号写上。对于非空块和块状结构,大括号遵循kernighan和ritchie风格,左大括号前不换行;左大括号后换行;右大括号前换行;如果右大括号是一个语句、函数体或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else或逗号,则不换行。一个空的块状结构里什么也不包含,大括号可以简洁地写成 {},不需要换行。例外:如果它是一个多块语句的一部分(if/else 或 try/catch/finally) ,即使大括号内没内容,右大括号也要换行。每当开始一个新的块,缩进增加2个空格,当块结束时,缩进返回先前的缩进级别。缩进级别适用于代码和注释。

4、空白

以下情况需要使用一个空行:类内连续的成员之间:字段,构造函数,方法,嵌套类,静态初始化块,实例初始化块;在函数体内,语句的逻辑分组间使用空行;类内的第一个成员前或最后一个成员后的空行是可选;要满足本文档中其他节的空行要求。除了语言需求和其它规则,并且除了文字,注释和javadoc用到单个空格,单个ascii空格也出现在以下几个地方:分隔任何保留字与紧随其后的左括号( ()(如 if,forcatch等);分隔任何保留字与其前面的右大括号( })(如 else,catch)等等。

5、命名约定

对所有标识符都通用的规则,标识符只能使用ascii字母和数字,因此每个有效的标识符名称都能匹配正则表达式 \w+。类名都以 uppercamelcase风格编写,方法名都以 lowercamelcase风格编写;常量名命名模式为 constant_case,全部字母大写,用下划线分隔单词;非常量字段名以 lowercamelcase风格编写;参数名以 lowercamelcase风格编写;比起其它类型的名称,局部变量名可以有更为宽松的缩写。、

6、编程实践

只要是合法的,就把 @override注解给用上。使用类名调用静态的类成员,而不是具体某个对象或表达式。极少会去重写 object.finalize。

上面我们谈论的java编码规范,可以把它看做是一种需要尽量去做的标准守则,而不是强制的命令要求。最后,希望大家都能写出优美动人,而有准确的编码。希望我的分享对大家有所帮助,不管你是有想学习java的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴,如果对于java有什么问题(学习方法,学习效率,如何就业)可以提出来,希望能帮助到大家,对于java总结了一些经验和整理了一套学习视频资料,这是我自己组建的一个java技术交流峮:前面是:108中间是 062后面是 1881  。如果需要学习资料可以在里面浏览下载。