标准与最佳实践
jameszhouhvs
.NET: WinForm > ASP.NET > MVC > Silverlight > WP > Xamarin
展开
-
命名规范
任何语言除了语法,还有各种约定俗成的语言习惯。编程语言也是如此,所有团队成员使用一种统一的"语言习惯“很重要 .NET Naming Guidelines - http://msdn2.microsoft.com/en-us/library/xzf533w0%28VS.71%29.aspx补充:Private member fields naming guideline - Camel case原创 2008-03-28 15:23:00 · 2162 阅读 · 0 评论 -
[程序员工具箱] StyleCop - C#代码规范检查工具
<br />StyleCop<br /> <br /> <br />建立良好的代码规范,确保团队内一致的代码风格- 集成VS2010, 试试 StyleCop 吧原创 2010-10-18 11:58:00 · 3540 阅读 · 0 评论 -
.NET 命名规范
<br />关于.NET 命名规范,msdn给出了一些具体的指南,但是稍有遗漏是关于变量的命名规范:方法或函数中的变量应使用Camel Case, 匈牙利命名法已经out了,因为VS都有智能感知功能,鼠标放上去就可以知道变量的类型,变量类型改变时,重命名的麻烦也可避免。<br /> <br />这篇blog对各种.net命名规范的总结,其中一条通用原则就是:参考.net framework的命名规范,保持一致。其中还提到了常量的命名规范:与类的成员变量或方法变量的命名规范一致,不要使用全大写的方式。原创 2010-06-10 11:00:00 · 1353 阅读 · 5 评论 -
从VSS到TFS
<br />TFS从2005,2008已经发展到目前的2010,你还在用VSS? out了。<br /> <br />TFS的功能远远多于源代码管理,这篇文档用一个专门的视角来介绍TFS:从VSS到TFS<br /> <br />原创 2010-06-07 23:01:00 · 3213 阅读 · 1 评论 -
Dispose模式与Finalize, Dispose方法实现准则
<br />最近一直纠结于一个Silverlight程序的内存泄露问题,顺便复习了一下Dispose模式及Finalize, Dispose方法的实现准则:<br /> Finalize实现准则:<br />The following rules outline the usage guidelines for the Finalize method:Only implement Finalize on objects that require finalization. The原创 2010-06-07 15:10:00 · 2060 阅读 · 0 评论 -
事件导致的内存泄露及Weak Event Pattern
事件绑定的背后当事件接收受对象的订阅源对象的某个事件时:oneControl.EventFired += anotherControl.OneControl_EventFired会生成一个事件源对象到事件接收对象的强引用 内存泄露的原因源对象的生命长于接收对象的生命(程序预期的生命), 且没有取消事件订阅:oneControl.EventFired -= anotherControl.OneControl_EventFired那么只要源对象未被"垃圾回收",由于那个强引用的存在,垃圾回收器也不会回收那个接收原创 2010-06-03 15:23:00 · 2287 阅读 · 0 评论 -
项目收尾 - IP (智力成果)
项目管理收尾阶段有一个步骤是收集经验教训、智力成果。前几天在对一个Silverlight项目做Review时,我提到使用了MVVM和Prism,老板马上问这些是否总结成了Rules to better Silverlight?后来又强调IP(Intellectual Property) 的重要性。正如他说的,下一个Silverlight如果让别人来做,那么这些IP就会对他或她有一些帮助,尤其是避免原创 2009-07-27 11:51:00 · 1275 阅读 · 0 评论 -
官方 Windows UX 指南
"Everything is best for something and worst for something else.The trick is knowing for what, when, for whom, and why." —Bill BuxtonThe goals for these official Windows User Experience原创 2009-07-27 09:40:00 · 1573 阅读 · 0 评论 -
布尔变量 - simple is beautiful
看到很多代码都这么使用bool类型的变量,例如如下的C#代码: if (result.IsLoaded == false) { result.Load(); } 更agile和readable的写法应该是: if (! result.IsLoaded) {原创 2009-05-12 13:01:00 · 1318 阅读 · 0 评论 -
初识OpenSearch
今天是第二次见到这个名词,搜索一下,了解一番: FAQ:What is OpenSearch? OpenSearch is a collection of simple formats for the sharing of search results.You can use OpenSearch formats to help people discover and原创 2009-02-01 11:03:00 · 1423 阅读 · 0 评论 -
Tip: LinqDataSource - Timestamp应是必备数据列
最近喜欢上了LinqDataSource,因为不必自己写数据访问的代码,而且还内置了并发控制,避免了"dirty read /write"问题。什么是并发控制:When you enable users to update or delete data, you might want to makesure that the data in the data source has not be原创 2008-11-05 14:34:00 · 1727 阅读 · 0 评论 -
敏捷 - 需求估算工具 - 故事点
软件项目的几个常见挑战及应对:挑战1 - 在项目还没有开始前,老板总会问:项目什么时候可以做完。应对 1 - 不确定。。。额 对,是不确定。但是,请继续看在任何需求没有细化分解成可用于时间估算的任务时,答案总是”不确定“,除非你有预知未来的水晶球。那么如何回答老板的问题?首先,确定需求列表,或者是初始需求列表。(大部分项目的需求总是变化的,但是在开始之前,总会有一些确定的需求)然后,使用故事点估原创 2013-09-10 23:17:49 · 2824 阅读 · 0 评论