3.代码格式

(1)【强制】如果是大括号内为空,则简洁地写成{}即可,大括号中间无需换行和空格;如果是非空代码块则:

  • 左大括号前不换行。
  • 左大括号后换行。
  • 右大括号前换行。
  • 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。

(2) 【强制】左小括号和右边相邻字符之间不出现空格 ; 右小括号和左边相邻字符之间也不出现空格;而左大括号前需要加空格。详见第 5 条下方正例提示。
反例: if (空格 a == b 空格)
正例: if (a == b)

(3)【强制】if/for/while/switch/do 等保留字与括号之间都必须加空格。
反例: if()
正例: if ()

(4)【强制】任何二目、三目运算符的左右两边都需要加一个空格。
说明:包括赋值运算符=、逻辑运算符&&、加减乘除符号等。
正例:

int num1=3,num2=2;
boolean result=false;
result = (num1 > num2) ? (true : false);

(5)【强制】采用 4 个空格缩进,禁止使用 tab 字符。
说明: 如果使用 tab 缩进,必须设置 1 个 tab 为 4 个空格。IDEA 设置 tab 为 4 个空格时,请勿勾选 Use tab character;而在 eclipse 中,必须勾选 insert spaces for tabs。

IDEA 设置 tab 为 4 个空格时,请勿勾选 Use tab character:
在IDEA中,File–>Settings…

Editor–>Code Style–>Java–>设置相应参数

更多操作可参照百度经验:intellij idea如何设置tab键为4个空格?

eclipse 中,必须勾选 insert spaces for tabs:
Window–>Preferences

Editors–>Text Editors–>勾选 insert spaces for tabs

正例: (涉及 1-5 点)

public static void main(String[] args) {// 缩进 4 个空格String say = "hello";// 运算符的左右必须有一个空格int flag = 0;// 关键词 if 与括号之间必须有一个空格,括号内的 f 与左括号,0 与右括号不需要空格if (flag == 0) {System.out.println(say);}// 左大括号前加空格且不换行;左大括号后换行if (flag == 1) {System.out.println("world");// 右大括号前换行,右大括号后有 else,不用换行} else {System.out.println("ok");// 在右大括号后直接结束,则必须换行}
}

(6)【强制】注释的双斜线与注释内容之间有且仅有一个空格。
正例:

// 这是示例注释,请注意在双斜线之后有一个空格
String commentString = new String();

(7) 【强制】在进行类型强制转换时,右括号与强制转换值之间不需要任何空格隔开。
正例:

long first = 1000000000000L;
int second = (int)first + 2;

(8) 【强制】单行字符数限制不超过 120 个,超出需要换行,换行时遵循如下原则:

  • 第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进,参考示例。
  • 运算符与下文一起换行。
  • 方法调用的点符号与下文一起换行。
  • 方法调用中的多个参数需要换行时,在逗号后进行。
  • 在括号前不要换行,见反例。

正例:

反例:

(9)【强制】方法参数在定义和传入时,多个参数逗号后边必须加空格。
正例: 下例中实参的 args1,后边必须要有一个空格。

method(args1, args2, args3);

(10)【强制】IDE 的 text file encoding 设置为 UTF-8; IDE 中文件的换行符使用 Unix 格式,不要使用 Windows 格式。
在IDEA中,File–>Settings…

File encodings–>设置相应参数

IDE 中文件的换行符使用 Unix 格式:Code Style–>设置相应参数(Line separator为Unix and macOs(\n))

(11) 【推荐】单个方法的总行数不超过 80 行。
说明: 除注释之外的方法签名、左右大括号、方法内代码、空行、回车及任何不可见字符的总行数不超过80 行。
正例: 代码逻辑分清红花和绿叶,个性和共性,绿叶逻辑单独出来成为额外方法,使主干代码更加清晰;共性逻辑抽取成为共性方法,便于复用和维护。

(12) 【推荐】没有必要增加若干空格来使变量的赋值等号与上一行对应位置的等号对齐。
正例:

(13) 【推荐】不同逻辑、不同语义、不同业务的代码之间插入一个空行分隔开来以提升可读性。
说明: 任何情形,没有必要插入多个空行进行隔开。

阿里巴巴Java开发文档2020版学习-代码格式相关推荐

  1. python飞机大战概要设计_飞机大战游戏开发文档(Android版)

    飞机大战游戏 开发文档 (Android版) 课程名称:飞机大战游戏 课程类型:Android游戏编程精彩内容,尽在百度攻略:https://gl.baidu.com 姓名:苏均灿 学号:131342 ...

  2. 【校招VIP】线上实习 推推 书籍详情模块 Java开发文档周最佳

    [推推]主要是为校招设计的小说一更新就通知的项目,每个模块都具有亮点和难点,项目表现为手机网站应用,可嵌入小程序或APP中. 恭喜来自 四川师范大学 的 o0hana 同学获得本周线上实习[推推]第一 ...

  3. 【校招VIP】“推电影”第一期电影详情模块Java开发文档作业评审1

    前言:关于[推电影]免费在线实习项目 一.本项目是基于年轻人的喜好,更个性的电影推荐网站.筛选各分类的知名电影,并给出推荐理由和下载链接.另外,通过标签功能匹配个人喜好,实现个性化推送. 二.项目表现 ...

  4. anychat java开发文档_AnyChat视频云平台开发指南

    本帖最后由 佰锐科技-刘冬明 于 2017-9-13 11:59 编辑 简介: AnyChat视频云平台提供线上的音视频通信.多应用接入.即时通讯.全景录像.智能排队,直播.点播等服务.为您定制个性化 ...

  5. java 自动生成文档_[原]java开发文档的自动生成方式

    对于Java注释我们主要了解三种: // 注释一行 /* ...... */ 注释若干行 第三种,文档注释: /** ...... */ 注释若干行,并写入 javadoc 文档 通常这种注释的多行写 ...

  6. 阿里巴巴java开发手册(2020版)

    2020版 链接: https://pan.baidu.com/s/1Zls_FUBKfGksU1GR3BGGGA 密码:titz 2019版 链接:https://pan.baidu.com/s/1 ...

  7. java开发文档怎么写_程序员该不该写技术文档,怎么写文档,易懂又能提升自己...

    最近公司项目的调用量突然涨了一大波,很多系统都纷纷扛不住了,于是需要对系统进行优化,系统优化的第一步,便是梳理业务! 在这个过程中,经常出现了这样一些情况,发现数据库的某些字段,没有注释,也没有一定的 ...

  8. netty java开发文档_Netty简明教学文档

    写个简单点,比较小白的文档,言语比较接地气 Netty是什么? NIO的高层封装,NIO很难写,所以有了Netty,方便异步的操作 service的主要代码片段 public void run() t ...

  9. netty java开发文档_《Netty官方文档》设置开发环境

    原文链接 译者:dan   QQ:903585177 请注意:这个指南并不是用户指南,它是开发 Netty 本身的指南,而不是使用Netty 开发其他程序的指南. 使用64位操作系统 必须使用64位操 ...

  10. java 开发文档协作_Java 网络编程---分布式文件协同编辑器设计与实现

    目录: 第一部分:Java网络编程知识 (一)简单的Http请求 一般浏览网页时,使用的时Ip地址,而IP(Internet Protocol,互联网协议)目前主要是IPv4和IPv6. IP地址是一 ...

最新文章

  1. 创建数据库时指定编码方式
  2. 线程技术 ☞ Future模式
  3. 联想云:借助云计算助力中国企业数字化转型
  4. 朴素贝叶斯(Naive Bayes),“Naive”在何处?
  5. tensorflow中关于vgg16的项目
  6. java writeint_Java DataOutputStream.writeInt(int v)类型
  7. POJ2942 Knights of the Round Table 点双连通分量,逆图,奇圈
  8. SQL Server 数据库维护脚本合集[007]-删除数据库所有用户表数据
  9. 小程序入门学习15---数据库实战01
  10. 安卓开发笔记——探索EventBus(转)
  11. 对于区块链在现实落地的一些技术业务关注点
  12. mysql课设体会_课程设计心得体会8篇
  13. 360数科知微实验室发布反诈报告:揭秘黑灰产数据流转真相
  14. c++initgraph函数_二次函数图像绕其顶点旋转180°后所得图像的解析式
  15. 复习2个月拿下美团offer,我都做了些啥
  16. 【PC工具】微信语音转mp3保存备份方法及工具,微信语音备份方法,silk转mp3工具...
  17. python爬虫:获取菜鸟网站上url
  18. Kali Linxu中打开Apache服务
  19. 无线路由频繁掉线9大原因分析
  20. labview精华资料集合光盘

热门文章

  1. 阿里云存储:安防行业背后的赋能者 | 凌云时刻
  2. 【图像隐写】基于matlab分层自嵌入数字水印内容认证与恢复【含Matlab源码 1641期】
  3. 【图像去噪】基于matlab改进非局部均值红外图像混合噪声【含Matlab源码 1640期】
  4. 【图像处理】基于matlab GUI图像形态学处理【含Matlab源码 1287期】
  5. 【图像加密】基于matlab Logistic混沌图像加密与解密【含Matlab源码 1216期】
  6. 【数字信号调制】基于matlab正交幅度调制仿真【含Matlab源码 1002期】
  7. 【语音编辑】基于matlab语音编辑【含Matlab源码 539期】
  8. mavan自动化接管浏览器_人工智能与自动化:接管还是共生?
  9. 深度神经网络 轻量化_正则化对深度神经网络的影响
  10. 新时达as380服务器显示75,成为电梯高手之新时达AS380控制系统故障代码