声明

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>
}

最新文章

  1. eclipse新建web项目开发JSP
  2. compass General 常用api学习[Sass和compass学习笔记]
  3. MPI Maelstrom - POJ1502最短路
  4. JQuery中操作Css样式的方法
  5. PHP中实现MySQL嵌套事务的两种解决方案
  6. 【Java】List的三种遍历方法
  7. 修改MongoDb的 DB 和 Log 存储路径 (Windows)-摘自网络
  8. C# web 网页刷新时数据集的保存和应用
  9. 在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里
  10. Jetty开发指导:Jetty Websocket API
  11. HDU 3853 LOOPS 可能性dp(水
  12. C# XML配置文件读写类(用于程序配置保存)
  13. ASP.NET脚本过滤-防止跨站脚本攻击[转]
  14. 实体框架(Entity Frmaework)简介
  15. 使用TensorFlow Object Detection API+Google ML Engine训练自己的手掌识别器
  16. Intellij idea 离线安装activiti工作流插件
  17. 微信公众平台设置URL和Token接收接口事件推送
  18. VBoxManage
  19. mysql创建表和数据库
  20. How to set asp.net Identity cookies expires time

热门文章

  1. jQuery Datetable
  2. python学习之装饰器-
  3. 判断是否是IE;自定义onkeyup事件
  4. 软件测试assert
  5. 微信小程序--试水
  6. 监控undo空间和临时段的使用情况
  7. python学习之路网络编程篇(第三篇)
  8. Luxurious Houses
  9. Docker Hub
  10. Java第6次实验提纲(异常)