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

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

时间: 2024-07-30 20:57:16

新手C#代码简洁性—代码篇的相关文章

新手C#代码简洁性—函数篇

1.从Html代码抽取MVC HtmlHelper <td class = "noborder nopaddingv"> <div class = "aligncenter"> <a href="/Home/Index"> <img src="../../Resouces/Images/Agile/Menu/Campass48.png" alt = "站点地图" t

新手C#代码简洁性—语义篇

心法"就是:只要屏幕上有需要思量一下的代码,则一定有办法简化.例子:求三个整数中的最大值 public int Max(int a, int b, int c) { if (a > b) { if (a > c) return a; else return c; } else { if (b > c) //有人还能把这里写成 c < b,也对,但更乱 return b; else return c; } } 正解是: public int Max(int a, int b

为了提高性能牺牲代码简洁性是否值得?

本文作者Arne Mertz是一位C++狂热份子,有着丰富的开发经验.文中Arne Mertz针对简洁和性能的关系进行阐述,他认为,开发者不到万不得已时千万不要为了性能而牺牲简洁性,要学会使用工具来解决性能问题. 译文如下: C++的强项之一是能写出非常高性能的代码.那么在实际中,我们该如何把握好性能处理的尺度呢? 性能≠效率 首先要明确的一点是我们必须把性能和效率区分清楚.这两者分别代表什么? 我们能做得多快(性能); 它需要多长时间去完成(效率). 这看上去好像差不多,但其实不是.举个例子,

WEB前端资源代码:面试篇

1.JS找字符串中出现最多的字符 例如:求字符串'nininihaoa'中出现次数最多字符 方法一: var str = "nininihaoa"; var o = {}; for (var i = 0, length = str.length; i < length; i++) { var char = str.charAt(i); if (o[char]) { o[char]++; //次数加1 } else { o[char] = 1; //若第一次出现,次数记为1 } }

Java Core 学习笔记——3.char/Unicode/代码点/代码单元

通用字符集(UCS) UCS是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所制定的标准字符集. UCS包括了其他所有的字符集(包含了已知语言的所以字符). ISO/IEC 10646定义了一个31位的字符集(首位恒定为0,占用4字节). Unicode(万国码.国际码.统一码.单一码) 编码方式: Unicode编码空间从“U+0000”到“U+10FFFF”(共1112064个码位),Unicode的编码空间划为17个平面,每个平面包含216(65536)个码位.17

通过限时写代码,优化代码的方式。

1.通过限时写代码,优化代码的方式. 1.containerView ->frame:self.window.bounds containerView.frame = self.window.bounds 初始化窗口跟window一样大 2.命名:View:containerView label:userNameLabel 3.内存管理:1.View ->alloc —>对应着有一个release 4.window的内存管理: 1.把strong改为retain 2.重写dealloc方

tinyMCE插件开发之插入html,php,sql,js代码 并代码高亮显示

作者: 字体:[增加 减小] 类型:转载 前几天,觉得blog的插入代码不够好用.于是,将sina的html编辑器更换为了tinyMCE.并且开发了一个简单的插入代码的功能... 下面就是我开发的过程. 首先,我的 tinyMCE版本是 Version: 3.2.7 (2009-09-22) .下载地址 http://www.jb51.net/codes/17198.htmltinyMCE插入代码,需要调用 tinyMCE的 tinyMCE.execCommand('mceInsertConte

eclipse 代码清理 代码格式化 代码注释

Code Style包括两个方面:代码清理,代码规范化.代码清理可以参考: http://www.ibm.com/developerworks/cn/opensource/os-eclipse-clean/ 代码清理过程: 进入eclipse菜单: Window > Preferences > Java > Code Style > Clean Up,点击界面上方的Import,在弹出框中选择位于eclipse安装 路径下的eclipse/cleanup-profile.xml,点

《梦断代码》第一篇总结

第0章讲述了作者年少时迷恋一款游戏,在这个游戏上可以自己打补丁,可以改造游戏的设计模式:当他年老一些时,他的一个项目濒临绝境,不计时间的去完善要发布的站点第一个版本:之后科技兴盛发展,人们发现目前用的是软件时间:每学习.使用一种编程语言后,都以“Hello World”作为第一个程序,虽然这程序一无所用,但是可以起到鼓励作用:软件就是麻烦一堆,我们对软件的需求,远甚于对它的仇恨,所以我们梦想着更新更好的东西. 第1篇写一个Chandler团队开会议时提到完成版本更新的时间不够,大家都要死定了来开