编码 括号_Java编码规范整理汇总

来源:博学谷 作者:照照

在Java的入门过程中,我们首先要养成一个良好的编写代码习惯。那么,了解清楚Java的编码规范就显得尤为必要了。编码格式不仅仅是美不美观的问题。这里我们可以试想一下,如果在Java开发中编码不规范,容易出现bug不说,而且后续还难以维护。因此,遵守编码规范可以让代码的风格好像是一个人写出来的,即使是有很多人参与这个开发项目。 1、源文件基础 源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为 .java。源文件编码格式为UTF-8。除了行结束符序列,ASCII水平空格字符(0x20,即空格)是源文件中唯一允许出现的空白字符,这意味着所有其它字符串中的空白字符都要进行转义;制表符不用于缩进。对于具有特殊转义序列的任何字符(b, , , f, , ", '及),我们使用它的转义序列,而不是相应的八进制(比如 012)或Unicode(比如 )转义。对于剩余的非ASCII字符,是使用实际的Unicode字符(比如∞),还是使用等价的Unicode转义符(比如∞),取决于哪个能让代码更易于阅读和理解。 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编码规范,可以把它看做是一种需要尽量去做的标准守则,而不是强制的命令要求。最后,希望大家都能写出优美动人,而有准确的编码。

7e905dfb1225105313f6713a08b2c43b.png

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

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

相关文章

rabbitmq消息队列,消息发送失败,消息持久化,消费者处理失败相关

转&#xff1a;https://blog.csdn.net/u014373554/article/details/92686063 项目是使用springboot项目开发的&#xff0c;前是代码实现&#xff0c;后面有分析发送消息失败、消息持久化、消费者失败处理方法和发送消息解决方法及手动确认的模式 先引入pom.xml <!--rabbitmq…

人的幸福感取决于什么

1988年4月&#xff0c;霍华德金森24岁&#xff0c;是美国哥伦比亚大学的哲学系博士。他毕业论文的课题是《人的幸福感取决于什么》。为了完成这一课题&#xff0c;他向市民随机派发出了一万份问卷。问卷中&#xff0c;有详细的个人资料登记&#xff0c;还有五个选项&#xff1a…

基于nginx实现缓存功能及uptream模块详细使用方法

基于nginx实现缓存功能及uptream模块详细使用方法一般情况下&#xff0c;前端使用nginx做代理或7层负载并向后实现varish/squid做cache server的效果要好的多nginx与squid做缓存比较nginx比squid有着巨大的优势表现在&#xff1a;nginx是异步假如后端的web服务器&#xff0c;当…

linux中的信号1——进程如何处理信号?

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、信号概述 1、信号是内容受限的一种异步通信机制 &#xff08;1&#xff09;信号的目的&#xff1a;用来进程间通信&#xff08;IPC&#xff09;、进程和内核间的通信。 &#xff08;2&#xff…

单片机oled显示浮点数函数_问中文编程在单片机上实现一个电子时钟,总共有几步?...

首先介绍开发一下语言&#xff1a;mcuScript&#xff0c;他是一个支持同时支持中文编程和英文编程的弱数据类型的脚本语言。相关介绍可参考前面的两篇文章:彭贞&#xff1a;mcuScript一个洋名字的中文(汉语)编程语言&#xff0c;初体验​zhuanlan.zhihu.com彭贞&#xff1a;mcu…

RabbitMQ的消息确认机制

转&#xff1a;https://www.toutiao.com/a6583957771840913934/?tt_frommobile_qq&utm_campaignclient_share&timestamp1532999387&appnews_article&utm_sourcemobile_qq&iid39062783162&utm_mediumtoutiao_android 一&#xff1a;确认种类 RabbitMQ的…

杂记-字符串的字节长度

JS对字符串字节长度处理&#xff1a; String.prototype.gblen function () { var len 0; for (var i 0; i < this.length; i) { if (this.charCodeAt(i) > 127 || this.charCodeAt(i) 94) { len 2; } else { len; …

javascript 文件的同步加载与异步加载

原文:[转载]javascript 文件的同步加载与异步加载HTML 4.01 的script属性 charset: 可选。指定src引入代码的字符集&#xff0c;大多数浏览器忽略该值。 defer: boolean, 可选。延迟脚本执行&#xff0c;相当于将script标签放入页面body标签的底部&#xff0c;js脚本会在docume…

linux中的信号2——alarm、pause函数

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 1、alarm函数 函数原型 函数说明 &#xff08;1&#xff09;内核以API形式提供的闹钟&#xff1b; &#xff08;2&#xff09;可以为当前进程定义闹钟&#xff0c;时间到了会发出SIGALRM信号。 &…

easyexcel 填充模板 格式变了_Qamp;A | 如何制作规范的电子合同模板?

表单中使用电子合同时&#xff0c;不仅需要进行功能设置&#xff0c;还需要制作一份PDF格式的模板&#xff0c;上传到“合同模板”中&#xff0c;才能生成有效的电子合同&#xff0c;接下来&#xff0c;我们一起了解模板的制作方法。制作方法 1. 准备PDF模板首先准备一份PDF格式…

edoc2中标电子文件管理标准ERMS制定项目

2019独角兽企业重金招聘Python工程师标准>>> 据悉&#xff0c;上海鸿翼数字计算机网络有限公司&#xff08;edoc2&#xff09;参加了电子文件管理标准ERMS制定项目的投标&#xff0c;经过精心准备和专业的答辩&#xff0c;凭借多年在电子文件管理领域长期的探索和研…

L_C_4 1

#include <stdio.h> void changValue1(int x,int y); void changValue1(int x,int y) { int tmp 0; tmp x; x y; y tmp; } void changValue2(int *x,int *y); void changValue2(int *x,int *y) { int tmp 0; tmp *x; *x *y; *y tmp; } // 多返回值的函数 int cal…

文件IO——如何实现非阻塞式IO?

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、阻塞式IO 1、阻塞式的概念 我们知道&#xff0c;有些函数在调用时&#xff08;比如网络编程中的recv函数&#xff09;&#xff0c;如果某些条件不满足&#xff0c;则会进入等待状态&#xff0c…

散点画三维曲面图_UG 复杂曲面合金零件的数控加工

随着柔性制造、机床数控技术的飞速发展&#xff0c;具有复杂、 精密、小批量、多品种的曲面零件越来越多&#xff0c;如何利用数控 加工技术高质量、高效率加工该类零部件是很有研究价值 的。 本研究利用 UG 软件对复杂曲面合金零件进行三维实 体建模、设计加工工艺过程&#x…

扫盲:php session缓存至memcached中的方法

memcached是一套分布式的快取系统&#xff0c;当初是Danga Interactive为了LiveJournal所发展的&#xff0c;但被许多软件&#xff08;如MediaWiki&#xff09;所使用。这是一套开放源代码软件&#xff0c;以BSD license授权协议发布。[1]memcached仅支持一些非常简单的命令 比…

beginner3

<!-- 生成验证码 --> <action name"rand" class"mainAction" method"rand"> <result type"stream"> //默认返回为nameSUCCESS <param name"contentType">image/jpe…

通过stream去重_stream去重

引言Spring Boot 2.0最近去了GA&#xff0c;所以我决定写我关于Spring的第一篇文章很长一段时间引言Spring Boot 2.0最近去了GA&#xff0c;所以我决定写我关于Spring的第一篇文章很长一段时间。自发布以来&#xff0c;我一直在看到越来越多的Spring WebFlux以​​及如何使用它…

文件IO——获取文件属性

以下内容源于朱有鹏嵌入式课程的学习整理与整理&#xff0c;如有侵权请告知删除。 前言 文件属性&#xff0c;包括文件的名字、创建时间、文件类型、文件权限等等内容。 本文讲述了以下内容&#xff1a; &#xff08;1&#xff09;文件类型有哪些&#xff1b; &#xff08;2&am…

使用juniversalchardet做字符编码识别

为什么80%的码农都做不了架构师&#xff1f;>>> 在抓取网站的页面的时候最烦人的一件事情之一就是识别原站点的编码&#xff0c;通常来说只有GBK&#xff08;GB2312&#xff09;和UTF8两种&#xff0c;不过依旧需要读取大量Http头信息来识别&#xff0c;有些网站则…

淘宝开放API,很不错

http://api.taobao.com/myresources/standardSdk.htm?spm0.0.0.0.YeOZMs# 转载于:https://www.cnblogs.com/tandychao/archive/2013/03/01/2938561.html