一、变量
1、集中使用变量,比如:
1 int a = 1;
2 ...
3 ...
4 a = a*2+1;
修改为
1 int a =1;
2 a = a*2+1;
3 ...
4 ...
2、全局变量的取舍
全局变量的优点:可以随时随地使用,方便。
全局变量的缺点:多地使用,可能会起冲突,其他人可能会破坏变量的内容。
优先使用局部变量,如果某个变量在方法中传来传去,成为流浪数据(tramp data),考虑使用全局变量。
3、一个变量只有一个用途,也就是说,变量名在其生命周期中,只代表一个意思。
4、千万不要使用文本常量(magic number),尽可能使用具名常量。
5、使用CLR属性对字段封装,就暗示着字段可读或者可写,如果字段不对外暴露,就不要提供CLR属性。
二、语句
1、if语句使用肯定形式,比如:
1 if(!isA)
2 {
3 doSth1();
4 }
5 else
6 {
7 doSth2();
8 }
修改为
1 1 if(isA)
2 2 {
3 3 doSth2();
4 4 }
5 5 else
6 6 {
7 7 doSth1();
8 8 }
对于 !A||!B,使用狄摩根,等价转化为 !(A&&B)
2、if语句,考虑短路求值
if(b/a==2 && a!=0) 修改为 if(a!=0 &&b/a==2)
三、设计方面
1、优先考虑代码可读性和易编程性,再考虑性能。
2、代码复用可使用继承和委托,使用继承,则意味着语义上是IsA的关系,如果语义上不是IsA的关系,使用委托的方式。