您的位置:首页 > 编程语言

代码简洁(注意事项)

2014-03-29 21:33 183 查看
internal class CleanCode
{
private CultureInfo m_CurrentCulture;
private CultureInfo m_CurrentUICulture;
private int m_Priority;
private string m_Name;

//提供有意义的命名

//一行语句也尽量使用大括号
private string FindElement(List<string> argElementList, string argDest)
{
if (argElementList == null || argElementList.Count == 0)
{
return "";
}
else
{
//   return (from c in argElementList where c == argDest select c).First();

//return argElementList.FindAll((value) => { return value == "张三"; });
return argElementList.Find((value) => { return value == "张三"; });

}
}

#region 方法抽象级别在同一层次上

public void Init()
{
LocalInit();
RemoteInit();
}

private void LocalInit()
{
}

private void RemoteInit()
{
}
#endregion

/*单一职责原则:一个方法只做一件事
*
* 避免过长的方法或类:
*      应该考虑是否可以拆成几个小的方法
*      一般类型的代码超过300行则要考虑是否重构
*      一般方法的代码超过30行、一屏也要考虑是否重构
*
* 只对外公布必要的操作:
*      比如类、方法、属性,默认应该是private的
*
* 重构多个相关属性为一个类
*
* 不重复代码:
*      代码重复不利于维护
*
* 避免过长的if、switch分支:使用“表驱动法”(查字典)
*
*
*/

#region “表驱动法”(查字典)

public enum Week
{
Monday, Tuseday, Wednesday, Thursday, Friday, Saturday, Sunday
}
static string GetChineseWeekInTable(Week argWeek)
{
//调用:GetChineseWeekInTable(Week.Friday)

string[] chineseWeek = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };
return chineseWeek[(int)argWeek];
}

/// <summary>
/// 调用方式
/// </summary>
void InvokeTest()
{
SampleClass sample = new SampleClass();
var addMethod = typeof(SampleClass).GetMethod((ActioInTable(Week.Monday)));
addMethod.Invoke(sample, null);
}
static string ActioInTable(Week argWeek)
{
string[] methods = { "Cleaning", "CleanCloset", "Working", "Working", "Working", "Shopping", "Shopping" };
return methods[(int)argWeek];
}

class SampleClass
{
public void Cleaning()
{
Console.WriteLine("Cleaning..");
}
public void CleanCloset()
{
Console.WriteLine("CleanCloset..");
}
public void Working()
{
Console.WriteLine("Working..");
}
public void Shopping()
{
Console.WriteLine("Shopping..");
}
}

#endregion

}

[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: