在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
在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编码规范,可以把它看做是一种需要尽量去做的标准守则,而不是强制的命令要求。最后,希望大家都能写出优美动人,而有准确的编码。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
HTML5是什么?HTML5用来做什么?
HTML5是什么?HTML5用来做什么?HTML5是HTML的修订版本,HTML5并不是对HTML4、XHTML的革命,原来的HTML4开发的HTML网页同样可用;开发者严格按照代码规范,使用XHTML严格、规范、语法,可按XHTML的严格要求来开发HTML5。
8513
2019-06-18 14:57:54
组合模式深度解析
我们常常谈的组合模式,其实就是允许你将对象组合成树形结构来表现 "整体/部分" 层次结构。本文将从组合模式的定义、包含角色、通用源代码以及优缺点几方面来详细分析,帮助大家深刻了解Java设计模式之组合模式。
8945
2019-07-29 17:51:14
Java学习总结Thread的start和run方法的区别
Thread中的start()和run()是Java的多线程概念最重要的两个方法,相信大家在Java学习中,或多或少会对两者的区别搞不清楚。因此本文就来和大家谈谈start和run方法,主要内容包括:认识start和run方法、两者的区别、代码实例和线程状态说明。
6233
2019-08-22 17:59:18
iHRM实战项目教程课程学什么?
要学习Activiti7工作流引擎、SAAS-HRM系统概述与搭建环境、SAAS-HRM-数据库设计与前端框架、SAAS-HRM系统用户权限设计概述、权限分配与jwt概述、权限分配与jwt概述、JWT的权限控制与Shiro入门、Shiro高级及SaaS-HRM的认证授权等内容。
7478
2019-11-08 10:24:19
Java原子操作之CAS原子指令学习
Java原子操作之CAS,CAS(Compare and Swap),即比较并替换,是用于实现多线程同步的原子指令。
3026
2022-07-01 13:57:43
