网上博文
改善C#程序的50种方法
面向对象之继承和组合浅谈
提高 ASP.NET Web 应用性能的 24 种方法和技巧
我们不改需求了,给你们立字据!
那些坑爹的老代码,究竟改还是不改?!
工作中无论写什么代码全靠抄袭,你觉得这样对么?
为什么技术与产品沟通起来总是那么痛苦
提高 ASP.NET Web 应用性能的 24 种方法和技巧
key:给新手程序员的16个工作必备小妙招,省下时间去LOL吧!
key:做软件项目,程序员如何避免踩坑? (微信搜索)
如何提高你代码质量
浅谈软件工程师的代码素养
程序员八荣八耻: 1 、2
评审的艺术——谈谈现实中的代码评审“代码行数、类耦合度、继承深度、圈复杂度”值越小越好。
(类耦合度:互相依赖的程度。 继承,可以使子类有父类的属性和方法或者重定义、追加属性和方法等。圈复杂度:if-else出现次数)编写高质量代码改善C#程序的157个建议——建议149:使用表驱动法避免过长的if和switch分支。扩展:数据驱动编程之表驱动法
enum Week{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday,
};
//根据枚举值获得中文星期几 (表驱动法编程--可以把表驱动简单理解为查字典。如果用switch-case就要写很多代码!)
static string GetWeek(Week wk)
{
string[] cWeek={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
return cWeek[(int)wk];
}
/*需求升级:输出成“星期一Mike打扫卫生、星期二Rose清理衣柜...”,则用表驱动法加上反射*/
class Program
{
static void Main(string[] args)
{
SampleClass sample=new SampleClass();
var addMethod = typeof (SampleClass).GetMethod(ActionInTable(Week.Monday));
addMethod.Invoke(sample, null);
}
static string ActionInTable(Week week)
{
string[] methods = { "Cleaning", "CleanCloset", "Quarrel", "Shopping", "Temp", "Temp", "Temp" };
return methods[(int)week];
}
}
class SampleClass
{
public void Cleaning()
{
Console.WriteLine("打扫");
}
public void CleanCloset()
{
Console.WriteLine("整理衣橱");
}
public void Quarrel()
{
Console.WriteLine("吵架");
}
public void Shopping()
{
Console.WriteLine("购物");
}
public void Temp()
{
Console.WriteLine("临时安排");
}
}