代码简洁(注意事项)
生活随笔
收集整理的這篇文章主要介紹了
代码简洁(注意事项)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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
}
{
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
}
總結
以上是生活随笔為你收集整理的代码简洁(注意事项)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小楫轻舟
- 下一篇: mysql基本常用命令