声明

17、推荐一行一个声明,因为这样有利于写注释。换句话说,下面的声明方法中,

int level; // indentation level
int size; // size of table

要优于:

int level, size;

绝对不要将变量和方法的声明放在同一行,例如:

long dbaddr, getDbaddr(); // WRONG!

不要将不同类型的变量的声明放在同一行,例如:

int foo, fooarray[]; //WRONG!

注意:上面的例子中,变量与标识符之间只用了一个空格。另一种被接受的方式是使用制表符,如:

int level;		// indentation level
int size;		// size of table
Object currentEntry; 	// currently selected table entry

18、只把声明放在代码块的开头处。(一个代码块是指被包含在“{”和“}”之间的代码。)不要等到它们第一次用的时候才去声明变量,这会指没注意力到的程序员搞糊涂,同时也会妨碍到代码在该作用域内的移植性。

void MyMethod() {
    int int1; // beginning of method block
    if (condition) {
        int int2; // beginning of "if" block
        ...
    }
}

这条规则的唯一例外是 for 循环里的索引变量,它在Java代码中能声明在 for 语句里面。

for (int i = 0; i < maxLoops; i++) { ...

19、避免声明的局部变量覆盖了上一级别声明的变量。例如,不要在内部代码块中声明相同的变量名。

int count;
...
func() {
    if (condition) {
        int count; // 应避免!
        ...
    }
    ...
}

20、尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值首先依赖于某些发生的计算。

21、当编写类和接口时,应遵循以下格式规则:

  • 在方法名与参数列表的左括号“(”之间不要有空格
  • 左大括号“{”位于声明语句同一行的结尾
  • 右大括号“}”另起一行,与对应的声明语句对齐。除非是一个空语句,这时“}”应紧跟在“{”之后。
class Sample extends Object {
    int ivar1;
    int ivar2;

    Sample(int i, int j) {
        ivar1 = i;
        ivar2 = j;
    }

    int emptyMethod() {}

    ...
}
  • 方法之间用空行隔开

语句

22、每一行最多包含一条语句。如:
argv++; argc--; // 应避免!

23、除非是有明显的理由,否则不要用逗号来组合多条语句。如:

if (err) {
    Format.print(System.out, “error”), exit(1); //严重错误<span style="font-family: Arial, Helvetica, sans-serif;">!</span>
}

JAVA代码规范笔记(下)的更多相关文章

  1. JAVA代码规范笔记(上)

    本文为<code conventions-150003>(JAVA代码规范)笔记. 文件组织 1.超过2000行代码的源文件将会比较难以阅读,应该避免. 2.每个Java源文件都包含单一的 ...

  2. Alibaba《Java开发手册》之Java代码规范笔记

    前言 一种工具被发明出来,那么针对这种工具的各种使用规则.条条框框就随之而来.无规矩不成方圆,无制度则无国家,无风格不成代码!治国有国法.排兵布阵有章法.那么写代码也有它界内通用的不成俗的约定.最近刚 ...

  3. Java 代码规范,你应该知道的一些工具和用法

    从事编程这个行业,你一定被别人说过或者说过别人这句话:代码要规范!求职面试时也能从 JD 上看到这个要求:要有良好的编程习惯.其实都是在讲代码规范(Code Style)这件事情. 每个人都有自己的编 ...

  4. Java 代码规范,你应该知道的一些工具和用法(转)

    转自:http://yifeng.studio/2017/06/30/coding-with-code-style/ Java 代码规范,你应该知道的一些工具和用法 2017-06-30 从事编程这个 ...

  5. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  6. JAVA编程规范(下)

    JAVA编程规范(下) 2016-03-27 6. 代码的格式化 6.1 对代码进行格式化时,要达到的目的 1.     通过代码分割成功能块和便于理解的代码段,使代码更容易阅读和理解: 2.     ...

  7. Java代码规范

    Java代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改.本文档中没有说明的地方,请参看SUN Java标准代码规范.如果两边有冲突,以SU ...

  8. Java代码规范、格式化和checkstyle检查配置文档

    http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...

  9. MyEclipse中阿里JAVA代码规范插件(P3C)的安装及使用

    JAVA代码规范插件(P3C)是阿里巴巴2017年10月14日在杭州云栖大会上首发的,使之前的阿里巴巴JAVA开发手册正式以插件形式公开走向业界.插件的相关信息及安装包都可以在GitHub(https ...

随机推荐

  1. 自然语言处理工具:中文 word2vec 开源项目,教程,数据集

    word2vec word2vec/glove/swivel binary file on chinese corpus word2vec: https://code.google.com/p/wor ...

  2. 图像融合之拉普拉斯融合(laplacian blending)

    一.拉普拉斯融合基本步骤 1. 两幅图像L,R,以及二值掩模mask,给定金字塔层数level. 2. 分别根据L,R构建其对应的拉普拉斯残差金字塔(层数为level),并保留高斯金字塔下采样最顶端的 ...

  3. 浅谈JAVA8引入的接口默认方法

    参考 http://blog.csdn.net/wanghao_0206/article/details/52712736 public interface InterfaceTest { publi ...

  4. OkHTTPClient

    一,OKHttp介绍 okhttp是一个第三方类库,用于android中请求网络. 这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和Leak ...

  5. LeeCode

    No1. Given an array of integers, return indices of the two numbers such that they add up to a specif ...

  6. js变量的一点认识

    js中变量包含两种不同数据类型的值,基本类型值(简单的数据段)和引用类型值(可能由多个值组成的对象).那么他们在保存方式和复制变量值是上有什么不同呢? 一.保存 只能给引用类型的值动态添加属性,不能给 ...

  7. 【转载】给想要入门渗透的人的忠告——schiz0wcingU

    最近发现很多拥有黑客梦想的年轻人在群里或者论坛里,找"师傅"或者学一些所谓的"社工" 这些找师傅的人当中,有极大一部分人是还在上学的学生,自然也就没有收入来源, ...

  8. 剑指架构师系列-Redis集群部署

    初步搭建Redis集群 克隆已经安装Redis的虚拟机,我们使用这两个虚拟机中的Redis来搭建集群. master:192.168.2.129 端口:7001 slave:192.168.2.132 ...

  9. 利用Filter和拦截器,将用户信息动态传入Request方法

    前言: 在开发当中,经常会验证用户登录状态和获取用户信息.如果每次都手动调用用户信息查询接口,会非常的繁琐,而且代码冗余.为了提高开发效率,因此就有了今天这篇文章. 思路: 用户请求我们的方法会携带一 ...

  10. Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义

    http://hi.baidu.com/lolorosa/blog/item/5775a608bd670d33b0351da7.html $# 是传给脚本的参数个数 $@ 是传给脚本的所有参数的列表 ...