一、java的三种注释类型

  • 单行注释:// ......
  • 块注释:/* ...... */
  • 文档注释:/** ...... */

二、指导原则

  • 注释不能美化糟糕的代码,碰到糟糕的代码就重新写吧。
  • 用代码来阐述你的意图,好的代码就是最好的注释。
  • 错误的注释比不注释更可怕。
  • 大括号后不要加注释,建议另起一行。
  • 注释调的代码建议删掉。
  • 废话式注释,循规式注释,误导性注释都应该删掉。
  • 巧用标记(TODO、FIXME)
  • 注释要放在距离其描述代码最近的位置。

三、代码格式列举

这里和大家聊下代码基本格式,好的代码格式会让维护者更容易阅读和理解。

package effective.code.up;

/**
*
* <p>Description: 这里写出这个类的描述,新写的类一定要带上日期和作者</p>
* @author wudiffs
* @date 2019年5月7日
*/
public class EffectiveCodeFormat { 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");
// 在右大括号直接结束,则必须换行
} /*当行字符数限制不超过120个字符,超出需换行,换行遵循如下原则:
* 1.第二行相对第一行缩进4个空格,从第三行开始,不再继续缩进
* 2.运算符与上下文一起换行
* 3.方法调用的点符号与下文一起换行
* 4.方法调用多个参数,需要换行时,在逗号后进行
* 5.括号前不要换行
*/
StringBuffer sb = new StringBuffer();
sb.append("AA").append("AA").append("AA").append("AA").append("AA").append("AA").append("AA").append("AA")
.append("BB").append("BB").append("BB").append("BB").append("BB").append("BB").append("BB").append("BB")
.append("BB").append("BB").append("BB").append("BB"); // 不同逻辑,不同语义,不同业务的代码之间插入一个空行分隔开来以提升可读性。
System.out.println("six six six up up up");
} /**
* 方法参数在定义和传入时,多个参数逗号后边必须加空格。方法描述要加上。
* @param sa
* @param sb
* @param sc
*/
public static void doSomething(String sa, String sb, String sc) {} }

java优雅注释原则和代码格式列举的更多相关文章

  1. 《阿里巴巴Java开发手册》代码格式部分应用——idea中checkstyle的使用教程

    <阿里巴巴Java开发手册>代码格式部分应用--idea中checkstyle的使用教程 1.<阿里巴巴Java开发手册> 这是阿里巴巴工程师送给各位软件工程师的宝典,就像开车 ...

  2. java开发规范总结_代码注释规范

    规范需要平时编码过程中注意,是一个慢慢养成的好习惯 1.基本规则 1.注释应该使代码更加清晰易懂   2.注释要简单明了,只要提供能够明确理解程序所必要的信息就可以了.如果注释太复杂说明程序需要修改调 ...

  3. Eclipse中更改默认java代码格式【转】

    在写代码时常常有2种代码样式习惯,如下图.由于一直习惯了第一种代码格式,而看第二种代码格式时感觉代码很乱,总找不到“{ }”对称的感觉.Eclipse自动格式化代码的快捷方式是Ctrl+Shift+F ...

  4. 列举两种不同类型的Java标识注释,并解释它们之间的区别。

    列举两种不同类型的Java标识注释,并解释它们之间的区别.

  5. 关于Java开发过程中质量提升-1代码格式配置

    在项目开发维护中,编码规范作为开发规范的一个组成部分,是十分重要和必须的,它不仅仅是为了提高开发效率,也有利于降低后期维护开发的成本.编码规范的根本目的就是要让不仅代码可以一目了然,也可以很容易的理解 ...

  6. 【JAVA 学习笔记1】代码注释

    在JAVA中支持单行注释和多行注释 1.单行注释,只要在注释的一行代码中加上双斜杠即可 例如: // int a=2,b=4,c=8; 2.多行注释,在开始位置加上/* 结束位置加上*/ 例如 /* ...

  7. Java代码格式

    东汉大臣陈蕃有一则这种故事,"一屋不扫何以扫天下",寓意来表明一个大丈夫,假设连自己的居室都不能打扫干净,怎么胸怀天下.<代码整洁之道>就是来劝诫我们程序猿写出更优秀的 ...

  8. 《码处高效:Java开发手册》之代码风格

    流水淡,碧天长,鸿雁成行.编码风格,简捷清爽,反引无限风光. 在美剧<硅谷>中有这样一个经典镜头,主人公 Richard 与同为开发工程师的女友闹分手,理由是两人对缩进方式有着截然不同的编 ...

  9. java基础-注释

    注释是一种形式的元数据,提供了非程序自身的数据,注释对于被注释的代码没有直接的影响. 本文主要概括注释的使用,java平台(SE)预定义的注释,类型注释是如跟可插入类型系统连用达到更强的类型检查的,以 ...

随机推荐

  1. 百度云下载神器 速盘SpeedPan v1.9.7

    速盘 – 不一样的度盘神器!SpeedPan 是一款由吾爱破解论坛会员"菩提叶"制作的度盘满速下载工具.这款百度网盘高速下载工具,免费小巧简单易用,采用了Aria2多线程下载,支持 ...

  2. 解析Unicode转义序列带来的问题

    Unicode转义序列的解析是发生在代码编译之前,编译器机械的将\u样式的代码文本转义,即使是注释以及非正常代码,对此步骤来说也没有区别 导致下面的情况: public class Test { pu ...

  3. android_layout_linearlayout(二)

    android的线性布局linearlayout的研究没有尽头.看了官网关于线性布局的一个例子,捣鼓一阵,发现的迷惑记录在此. 一.先看看官网xml <?xml version="1. ...

  4. JAVA面试题 StringBuffer和StringBuilder的区别,从源码角度分析?

    面试官Q1:请问StringBuffer和StringBuilder有什么区别? 这是一个老生常谈的话题,笔者前几年每次面试都会被问到,作为基础面试题,被问到的概率百分之八九十.下面我们从面试需要答到 ...

  5. 个人永久性免费-Excel催化剂功能第47波-VBA开发者喜爱的加密函数类

    VBA的确是个很不错的编程工具,寄生在OFFICE内,无需安装庞大的开发环境,即开即用,方便灵活,能实现的事情也很多,但毕竟VBA是微软停止更新维护将近20年的一种语言,计算机的世界发展速度有多快大家 ...

  6. Flink实战(七) - Time & Windows编程

    0 相关源码 掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flink中的watermark. Flink 在流处理工程中支持不同的时间概念. 1 处理时 ...

  7. Java 虚拟机部分面试题

    Java虚拟机部分的面试内容包括三部分:GC.类加载机制以及内存 Java内存区域 JVM内存分为哪几部分,这些部分分别都存储哪些数据? 线程隔离的数据区:程序计数器.Java虚拟机栈.本地方法栈. ...

  8. <<Modern CMake>> 翻译 2. CMake 基础

    <<Modern CMake>> 翻译 2. CMake 基础 最低版本 这是每个 CMakeLists.txt 文件的第一行.CMakeLists.txt 是 CMake 所 ...

  9. Java emoji持久化mysql

    好久没有更新博客了,今天和大家分享一个关于emoji表情持久化问题,相信做web开发的都遇到过这样的问题,因为我们知道mysql的utf-8字符集保存不了保存不了表情字符,这是为什么呢?因为普通的字符 ...

  10. Android的日期选择器

    TimePicker(时间选择器) 方法 描述 Integer getCurrentHour () 返回当前设置的小时 Integer getCurrentMinute() 返回当前设置的分钟 boo ...