代码规范(二)

表达式语句

1.      if else语句

l         不要把a == b 写成 a = b的形式

l         If()中的条件换行后,逻辑判断符合写在左边。

If(a == b

&& c == d)

l         判断条件过多时,能用switch语句转换时,尽量用switch

l         字符串判断应该用equals,而不应该用 “==“

l         If()括号里面应该优先放经常出现的情况。

把最常见的情形放在最开始,你就可以少读许多处理异常情况的代码,而直接读常见情况的代码。这样就提高了寻找常见情况的效率。在上述例子中,字母该是最常见的情况,但检查是否为标点代码却放在最先。把检查字母的代码放在最开始修改如下:

这个C语言的例子中,把处理最常见情况的代码放在最先:

if(IsLetter(InputChar)) ——这个判断最常见,放在第一位

CharType=Letter;

else if(IsPunctuation(InputChar))

CharType=Punctuation;

else if(IsDigit(InPutChar))

CharType=Digit;

else if(IsControl(InputChar)) ——这个判断最少见,放在最后

CharType=ControlChar;

l         保证if覆盖全部情况

最后用一个else语句处理那些你未曾想到的错误信息。这个错误信息很有可能是由你而非用户引起的,所以一定要正确处理这种情况,下面例子中,增加了处理其它情况的代码。

这个C语言程序例子,用缺省情况应付可能出现的其它情况。

if(IsLetter(InputChar))

CharType=Letter;

else if(IsPunctuation(InputChar))

CharType=Punctuation;

else if(IsDigit(InputChar))

CharType=Digit;

else if(IsControl(InputChar))

CharType=ControlChar;

else

PrintMsg("Internal Error: Unexpectecd type of character detected.");

l         用布尔函数调用(boolean function亦称逻辑函数)简化程序。

if( InputChar < SPACE )

CharType=ControlChar;

else if( InputChar==' ' || InputChar==',' || InputChar=='.' ||

InputChar=='!' || InputChar=='(' || InputChar==')' ||

InPutChar==':' || InputChar==';' || InputChar=='?' ||

InPutChar=='-' )

CharType=Punctuation;

else if( '0' <= InputChar && InputChar <= '9' )

CharType=Digit;

else if( 'a' <= InputChar && InputChar <= 'z' ) ||

( 'A' <= InputChar && InputChar <= 'Z' )

CharType=Letter;

上面代码不好读的一个原因是把字符进行排序的条件过于复杂。为了提高可读性,可以用布尔函数来代替这些判断条件。

用布尔函数调用的if-then-elseC语言程序例子。

if(IsControl(InPutChar))

CharType=ControlChar;

else if(IsPunctuation(InPutChar))

CharType=Punctuation;

else if(IsDigit(InputChar))

CharType=Digit;

else if(IsLetter(InputChar))

2.      switch语句

l         把各种情况按字母或数字顺序组

                        i.              如果各种情况是同等重要的,按ABC顺序安排,以提高可读性。每个事件都可很容易从整体中挑出来。

l         把正常情况的事件放在最开始。

如果是一个正常情况及几个异常情况,把正常情况放在最先,并用注释标明哪些是正常情况哪些是异常情况。

l         按出现频率组织情况。

把最经常执行的情况放在最先,而最不可能的情况放在最后。这种方法有两大好处。首先,读者很容易找出最普遍的情况。读者为寻找某个具体的情况而浏览整个程序,极有可能就是找最常见的那种情况。把常见的情况放在代码的最开始,读者能很快找到它。第二,机器执行起来也快。每一种情况都在代码中有相应的执行语句,机器执行都要花时间搜索,如果有12种情况而最后一个情况是要执行的。那么机器要搜索12if语句,直到最后发现相应的情况。若把最普遍情况放在最先,你就可以减少机器的搜索区间,这样就可提高代码的效率。

3.      循环 语句

l         所有判断循环总共不能超过4层。

l         while(){}do{}while()使用是否合理。

 

异常处理

1.      函数/方法异常处理

l         错误信息要写入日志。

只要出错,一定写入错误日志。

l         try {}cathch

要把未知的情况放入try{}catch中去,但是不要把所有的代码放入try{}catch.

 

其它注意情况

l         未初始化变量不能使用。

l         应尽量去除系统产生的警告。

l         要主动回收内存。

l         不准在循环中查询sql语句。

l         FLEX变量不能重复声明。

l         jsp页面不能有红叉。

l         代码中的字符串应当定义成常量。

l         JS需要判断undefind

l         若没有足够理由,不要把实例或类变量声明为公有。通常,实例变量无需显式的设置(set)和获取(gotten),通常这作为方法调用的边缘效应 (side effect)而产生。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值