JAVA代码规范笔记(下)-阿里云开发者社区

开发者社区> 浩码农> 正文

JAVA代码规范笔记(下)

简介: 声明 17、推荐一行一个声明,因为这样有利于写注释。换句话说,下面的声明方法中, int level; // indentation level int size; // size of table要优于: int level, size;绝对不要将变量和方法的声明放在同一行,例如:long dbaddr, getDbaddr(); // WRONG!不要将不同类型的变量的声明放在同一行,例如: int foo, fooarray[]; //WRONG!注意:上面的例子中,变量与标识符之间只用了一个空格。
+关注继续查看

声明

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 代码的“坏味道”
阿里妹导读:代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越多。如果用功去清除这些"坏味道",不仅能提高自己的编码水平,也能使代码变得"精白无一毫不彻"。这里,一直从事Java研发相关工作的阿里高级地图技术工程师王超,整理了日常工作中的一些"坏味道",及清理方法,供大家参考。
4853 0
【Java学习笔记之二】java标识符命名规范
什么是标识符 就是程序员在定义java程序时,自定义的一些名字。标识符可以应用在类名、变量、函数名、包名上。   标识符必须遵循以下规则 标识符由26个英文字符大小写(a~zA~Z)、数字(0~9)、下划线(_)和美元符号($)组成。
896 0
AI学习笔记——Tensorflow中的Optimizer(优化器)
在使用Tensorflow搭建神经网络的时候,最后一步总会用到tf.train.XxxOptimizer(). 然后会有很多Optimizer()如下图 其实这些Optimizer 都是优化算法下面重点介绍几个常见的 1. Gradient Decent 这是最基础的梯度下降算法,更新权重W,不多解释。
826 0
AI学习笔记——Sarsa算法
上一篇文章介绍了强化学习中的Q-Learning算法,这篇文章介绍一个与Q-Learning十分类似的算法——Sarsa算法。 1. 回顾Q Learning 还是同样的例子,红色机器人在4x4的迷宫中寻找黄色的宝藏。
1641 0
AI学习笔记——Python的几个练习题
上一篇文章中提到了学习编程练习的重要性,今天就通过几个练习题,来巩固一下Python中几个重要的技能。 将字典中大于2的值过滤掉。 #Filter out values of equal or greater than 2 #Note that for Python 2 you will have to use iteritems d = {"a": 1, "b": 2, "c": 3} 读取输入的一句话中的单词数。
1026 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
8268 0
一个在北美学设计学生的笔记
学设计第一个要认识到的就是设计不是艺术。我就是一开始没有分清这个概念,在第一次上设计课时可苦大了。设计是沟通,是传达,而艺术是表现,是创 作。这并不是说设计里没有表现的成份,更不是说艺术是不在乎沟通的。
754 0
AI学习笔记——求解最优MDP
上一篇文章介绍了MDP的基本概念,但是我们更关心的是如何寻找到最佳的路径解决MDP问题。MDP过程中,可以有无数种策略(policy),找到最佳的路径实际上就是找到最佳的Policy 来最大化V函数(Value Function)或者Q函数(Action-Value Function)。
1009 0
《区块链DAPP开发入门、代码实现、场景应用》笔记4——Ethereum Wallet中部署合约
账号创建完成之后,账号余额是0,但是部署合约是需要消耗GAS的,因此需要获取一定的以太币才能够继续本次实现。
1461 0
AI学习笔记——深度Q-Learning(Deep Q-Learing(DQN))
之前的文章介绍了Q-learning, 介绍了深度学习(Deep Learning),DQN顾名思义就是将两者结合起来。DeepMind公司也就是用DQN从玩各种电子游戏开始,直到训练出阿尔法狗打败了人类围棋选手。
1306 0
+关注
浩码农
开源社区技术专家
167
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载