基于自己的经验和学习的总结,做个笔记,这里是简单的例子,写的是思想,可以举一反三。
1、永远对if else switch for 保持警惕,优化if else
if...else这类语句在代码中是常见的,但可以面向对象思想优化之,就是把所有的if...else改成方法,先看个优化小例子,当然只是个简单的例子。
例子:
//代码1
bool a; if (a == true) { return "b"; } else { return "c"; }
优化为:
//代码2
if (a != true) return "c"; return "b";
效果是一样的,但效率就提高了,尽量先判断否的条件,因为如果否就不在继续执行了,反之就继续执行。接下来看,把if...else改成方法。
//代码3,把代码2改成代码3 CheckError((a==true),"b","c") CheckError方法的伪代码 protected string CheckError(bool cond,string msg,string msgs) { if(cond)return msg; return msgs }
上面是伪代码,类似于这样,可以继续优化,就好像委托一样,把代码优化起来。
继续,如果是简单的一个if...else,就可以优化为三元判断:a?"b":"c";这样了,为啥还要if...else。
顺说一下"??",表示是否为null,例如:a??"c"。意思是a如果不为null则为a,否则为"c"。
2、连接字符串,用format而不用"+"
例子:
string sql = "select id from data where name=" + name;
改为:
string sql = string.Format("select id from data where name='{0}'", name);
这样可阅读性强,便于维护,参数明确。
注:如果是sql连接,可以Parameters的方式。