新手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();

}
心法是:任何两个地方看上去相似,就可以简化。
技法是:相同部分放在分支前或后,不同部分才是分支。

posted @ 2017-08-10 11:52  KamChau  阅读(950)  评论(0编辑  收藏  举报