随笔 - 3  文章 - 8  trackbacks - 0
<2006年1月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

2006年

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

相册

最新随笔

搜索

  •  

最新评论

阅读排行榜

评论排行榜

1、访问实例与类中变量的规则

  一般情况下,都不要将类中的变量声明为公共类型(public),除非设计要求如此,如果变量不是公共类型的,这样职能通过public类型方法去访问相关变量,例如:getXX()方法等。如果你创建的类中没有热核和行为为()方法,此时你不得不将这个类中的变量声明
为公共(public)类型,以供外界访问。

2、引用类中的静态变量与方法的规则

  当你试图在你的代码中引用类的静态方法或静态成员变量时,不要通过该类的实例对象引用它们,尽管这样是允许的。你应该通过类来引用它们,如下所示的代码:
 
 public static classMethod();
 MyClass.classMethod();  //正确
 myObject.classMethod();  //不正确(应该避免)

3、变量赋值规则

  尽量避免在一个当行语句中将一个变量赋多个值,这样将是代码变得艰涩、难懂,
例如下面的代码:
 
 userName=user1.name='jerry lin'; //这种赋值方式应尽量避免

  尽量避免对一元表达式的赋值,例如下面的代码在Java中是绝对不允许的;
 
 if(i++=m++){
   ...
 }

  当然可以修改为下面的方式,便可以逃避语法错误,不过这是不被推荐使用的:

 if((c++=d++)!=0){
   ...
 }

  计量避免嵌套赋值,这样会浪费编译器较多的时间,例如下面的代码:

 d=(a=b+c)+r;

  上面的赋值应修改为下面的方式:

 a=b+c;
 d=a+r;

FX:综合规则

  括号规则
  应尽量使用括号()来界定表达式的结合顺序,避免由于运算符优先级的问题而导致非主观意图错误,即使你对运算符优先级比较了解而且代码看起来也比较清晰,但是其
他程序员看这段代码未必像你一样清楚,例如下面的代码:

 if(i==j&&m==n)  //应尽量避免
 if((i==j)&&(m==n)) //正确

  返回值规则
  应计量使程序结构与你的意图匹配,例如:
 
 if(isTrue){
   return true;
 }else{
   return false;
 }
  
  上面的程序有些“受累不讨好”的感觉,应该修改为:

 return isTrue;

  相似的有,

 if(condition){
   return x;
 }
 return y;

  应该修改为:

 return(condition?x:y);

  特殊注释规则
  你可以在程序中通过一些特殊注释来表示你的伪代码,例如,用EXECUTE表示该代码有问题但是可执行,用FIXME表示代码有问题切不可执行

例如下面的代码:

 if(isTrue){
   //EXECUTE
 int i=0;
 i++;
 }else{
   //FIXME 因为i没有被声明
   i++;
 }

4、常量的命名规则

  Java中的常量一般采用大写字母单词命名,单词与单词之间用下划线(_)加以分割,这符合ANSI的常量命名规则

如下所示的代码:

 static final int MIN_WIDTH=14;
 static final int MAX_WIDTH=1000;
 static final intGET_THE_MEMORTY=128;

5、变量的命名规则

  变量的命名规则是,除了变量(variable),所有对象的实例(instance),类(class)与类的敞亮(constant)的第一个字母应该小写,在多个单词混合的情况下第一个单词后
的所有单词的第一个字母大写,区域字母小写的规则外。变量的第一个字母即使系统允许,也不要为_或者$。变量名字因该紧凑而有意义。变量的名字应该是易记忆、易于理解的,及时进个较长的时间也可以依其名而知其意。另外单自负的变量名应该尽量避免,除非临时变量,例如,一些整数字符临时变量:i,j,k,m,n等以及单字符变量:c,d,e等,

如下所示代码:

 int i;
 char c;
 float imageWidth;

6、方法的命名规则

  方法一般来说都是动词,第一个字母应该小写,在多个单词混合的情况下,第一个单词后的所有单词的第一个字母大写,其余字母小写

例如下面的代码:

   run();
 runFast();
 getBackground();

  在方法的声明部分,通常要提供对方法功能的描述,以及方法中返回值与参数的说明

例如下面的代码:

 /**
  * 显示系统信息方法
  * @param message 系统信息参数
  * @return message 返回系统信息
 */
 public String showMessage(String message) {
  ...
   //statements;
  ...
  return message;
 }

  如果该方法在软件产品的不断升级中已经不被建议使用了,可以通过在方法声明注释
福分添加关键字@deprecate实现。

7、代码长度与拆行规则

  代码行长度 

  一般来说Java的代码行长度应该小于80个字符,超过这个长度可能在一些开发工具或编辑器上无法很好的显示,而且也会给阅读程序带来麻烦。因此,我们应尽量避免超过80个字符长度的代码行。在一些文档编辑器中惯用长度普遍为70个字符左右。

  拆行规则

  当完整的一行代码难以编排在统一个代码行中时,我们可以根据下面的规则,对Java源代码进行拆行编排:
 (1)在逗号后拆行
 (2)在运算符(operator)前拆行
 (3)高层拆行优于低层拆行
 (4)拆下的代码行应该与其同登记的代码行左对齐
 (5)如果上面的法则令代码行右侧距页边的距离,差距较大并且混乱,我们可以在适当行采用Tab键(8空格键)处理.

posted on 2006-01-03 13:00 水狐 阅读(886) 评论(2)  编辑  收藏 所属分类: Java

FeedBack:
# re: Java中的一些规则 2006-01-05 11:28 阿呆
...如果你创建的类中没有"热核"和"行为为()方法"
请问这是什么意思?  回复  更多评论
  
# re: Java中的一些规则 2006-01-05 13:23 水狐
如果你创建的类中没有“任何行为()”方法
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: