在线客服
扫描二维码
下载博学谷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编码规范,可以把它看做是一种需要尽量去做的标准守则,而不是强制的命令要求。最后,希望大家都能写出优美动人,而有准确的编码。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
SpringMVC面试题集锦
Spring MVC是spring框架的一个模块,是基于MVC的轻量级Web框架。Spring是目前Web开发中的一个很重要的部分。尤其在企业招聘相关开发者的时候,有大量的笔试和面试题目都与springMVC有关,下面是小编为大家整理的关于springMVC的一些面试题!
7700
2019-11-19 18:29:43
Java基础学习之File类笔记整理
在小白入门Java基础的学习道路上,File类是必须要接触的一个知识点。为了方便大家学习并应用File类,本文为大家整理汇总了File类的相关知识点,内容包括File类概述和构造方法、File类创建功能、File类判断和获取功能和File类删除功能。下面我们一起来梳理一遍笔记的内容吧!
6495
2019-12-11 16:25:25
学习MySql需要掌握哪些基础知识?
学习MySql基础知识,需要掌握需求分析、关系型数据库用来描述实体与实体之间的关系、MySql数据库服务器、MySql得安装和卸载、MySql的sql语句及操作相关的知识。
7948
2020-03-04 17:06:07
黑马头条项目实战学什么?
随着智能手机的普及和生活节奏的加快,人们更加习惯于利用碎片时间通过手机来看新闻。 因此,现在对于移动资讯客户端的需求也越来越高,黑马头条项目正是在这样背景下研发出来的。 黑马头条项目是对在线教育平台业务进行大数据统计分析的系统,碎片化、切换频繁、社交化和个性化现如今成为人们阅读行为的标签。那么,黑马头条项目实战学什么呢?
9294
2020-04-28 18:37:32
Java从零基础到入门需要从哪里开始学?
Java从零基础到入门需要从哪里开始学?Java是一门后端语言,即服务端,服务端代码一般运行在服务器上,通常运行Java程序的服务器都是Linux服务器。需要从Java 基础语法学起,如基本类型变量、for 循环、if else 等,还有Java 常用到的概念,比如面向对象的特性,其中有类、接口等。
5358
2022-03-17 10:39:58
