首页 > 代码库 > 新手C#代码简洁性—代码篇
新手C#代码简洁性—代码篇
1.合并相似代码:
牢记心法:只要屏幕上有任何两部分代码看上去相似,则一定有合并办法
例子:
if (!result.Contains("true"))
{
_repSFC.GrantAuthorityToRole(authority, role, false);
}
if (result.Contains("true"))
{
_repSFC.GrantAuthorityToRole(authority, role, true);
}
改后:
_repSFC.GrantAuthorityToRole(authority, role,
result.Contains("true"));
2.多用?是:否 语法:
另一个小案例:
if (Misc == null)
return SFCCatches.LinkP2Cs.Where(i => i.P == p && i.C ==
c);
else
return SFCCatches.LinkP2Cs.Where(i => i.P == p && i.C ==
c && i.Misc == Misc);
改后:
return SFCCatches.LinkP2Cs.Where(i => i.P == p && i.C == c &&
(Misc == null ? true : i.Misc == Misc));
有时候感觉这种写法有点花哨,但是习惯以后,实际可读性要高得多,尤其如果单
行代码挺长的时候。
3.推迟分支
if (...)
{
A();
B();
}
else
{
A();
C();
}
改后:
A();
if (...)
{
B();
}
else
{
C();
}
心法是:任何两个地方看上去相似,就可以简化。
技法是:相同部分放在分支前或后,不同部分才是分支。
新手C#代码简洁性—代码篇