java编码规范_空白和命名规范
1. 空白(White Space)
7.1 空行(Blank Lines)
空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用两个空行:
·一个源文件的两个片段(section)之间
·类声明和接口声明之间
下列情况应该总是使用一个空行:
·两个方法之间
·方法内的局部变量和方法的第一条语句之间
·块注释(参见"5.1.1")或单行注释(参见"5.1.2")之前
·一个方法内的两个逻辑段之间,用以提高可读性
7.2 空格(Blank Spaces)
下列情况应该使用空格:
一个紧跟着括号的关键字应该被空格分开,例如:
while (true) {
...
}
注意:空格不应该置于方法名与其左括号之间。这将有助于区分关键字和方法调用。
空格应该位于参数列表中逗号的后面
所有的二元运算符,除了".",应该使用空格将之与操作数分开。一元操作符和操作数之间不因该加空格,比如:负号("-")、自增("++")和自减("--")。例如:
a += c + d;
a = (a + b) / (c * d);
while (d++ = s++) {
n++;
}
printSize("size is " + foo + "\n");
for语句中的表达式应该被空格分开,例如:
for (expr1; expr2; expr3)
强制转型后应该跟一个空格,例如:
myMethod((byte) aNum, (Object) x);
myMethod((int) (cp + 5), ((int) (i + 3)) + 1);
2. 命名规范(Naming Conventions)
命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码。定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目开发过程中因更换人员而带来的损失。较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字符或者通用的缩写来实现单词的简化。
8.1 包(Packages)
一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names),如:com.itcenter.models
8.2 类(Classes)
命名规则:类名是个名词,采用大小写混合的方式,对于所有标识符,
相关文档:
class Super { static int taxi = 1729; }
class Sub extends Super {
static { System.out.print("Sub "); }
}
class Test {
public static void main(String[] args) {
System.out.println(Sub.taxi);
}
}
输出:1729
知识要点:
A reference to a class field causes initialization of ......
在Devoxx 2009(一年一度的Java社区大会,今年在11月16-20日举行)上,Sun宣布将在JDK 7中增加闭包功能。这个功能的添加将从FCM v0.5(First-Class Methods,第一类方法)的语法和语意开始着手。FCM与JCA原本一同被提交,然而Sun宣布JCA将不在JDK 7中考虑。
同时,Sun表示Java 7的发布时间将被推迟至2010年底。 ......
没有一个平台独立的方法能够在所有的JVM上实现。一个最简单、最接近取得PID的办法是使用:
ManagementFactory.getRuntimeMXBean().getName() 。
取得到的字符窜的格式为[PROCESS_ID]@[MACHINE_NAME],通过解析这个字符串就可以得到java进程的PID。
在以下平台上测试通过:
1、Windows、Linux上的Sun JDK1.5、JDK6
2、H ......
Blog from http://forum.xda-developers.com/showthread.php?t=552846
I've just pushed new Hero Java app into my rogers build and it works fine.
What you basically need is:
Jbed.apk (install with adb install)
libjbedvm.so (adb push /system/lib) - remember to remount as RW.
I strongly suggest to ......