代码简洁(注意事项)

本文探讨了代码整洁的原则,包括有意义的命名、避免过长的方法或类、只对外公布必要操作、重构多个相关属性为一个类、避免重复代码以及避免过长的if、switch分支等。通过具体示例,如使用表驱动法优化if、switch语句,展示了如何实践这些原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

}

posted on 2014-03-29 21:33  v.e.n.u.s 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/jx270/p/3633122.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值