C# 开发者审查代码的41条建议

1. 确保没有任何警告(warnings)。

2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了。

3. 去掉所有没有用到的usings。编码过程中去掉多余代码是个好习惯。(参考:msdn

4. 在合理的地方检查对象是否为’null’,避免运行的时候出现Null Reference Exception

5. 始终遵循命名规范。一般而言变量参数使用驼峰命名法,方法名和类名使用Pascal命名法。(参考:msdn

6. 请确保你了解SOLID原则。

根据维基百科定义:在程序设计领域,SOLID (单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变得更加可能。SOLID所包含的原则是通过引发编程者进行软件源代码的代码重构进行软件的代码异味清扫,从而使得软件清晰可读以及可扩展时可以应用的指南。SOLID被典型的应用在测试驱动开发上,并且是敏捷开发以及自适应软件开发的基本原则的重要组成部分。参考:wiki/SOLID_(面向对象设计)

7. 代码可重用性:如果一块代码已经被使用超过一次,或者你希望将来使用它,请提取成一个方法。将重复的工作做成通用的方法放在相关的类中,这样一旦你完成别人就可以使用了。将常用功能开发成用户控件,这样可以跨项目重用它们。(参考: 、 

8. 代码一致性:比方说,Int32写成int,String写成string,应该在代码里保持统一形式。不能一会二写成int一会儿写成Int32。

9. 代码可读性:代码应该是可维护的,便于其他开发者理解。(参考:msdn

10. 释放非托管资源,比如文件I/O,网络资源等。一旦使用结束就应该释放它们。如果你想一旦超出使用范围就自动释放对象,可以使用usings将非托管代码括起来。参考:msdn

11. 合理实现异常处理(try/catch和finally块)和异常记录。参考:msdn

12. 确保代码中方法的行数不要过多,不超过30到40行。

13. 及时用代码管理工具check-in/check-out代码。(比如TFS) 参考:codeproject.com

14. 相互审查代码:和你的同事交换代码,实现内部审查。

15. 单元测试:编写开发测试用例完成单元测试,确保代码被送到QA以前,基本测试完成。参考:msdn

16. 尽量避免for/foreach循环嵌套和if条件嵌套。

17. 如果代码只会使用一次,请使用匿名类型。参考:msdn

18. 尽量使用LINQ查询和Lambda表达式,增加可读性。参考:msdn

19. 合理使用var、object和dynamic关键字。由于很多开发者会感到困惑或者知道的很少,会觉得它们有些相似,故而交换使用,这是要避免的。参考:blogs.msdn

20. 使用访问限定符(private, public, protected, internal, protected internal)限定每个方法、类或变量的需要范围。比方说如果一个类只会在程序集内使用,那么定义成internal就足够了。参考:msdn

21. 在需要保持解耦的地方使用接口,有些设计模式的出现也是由于接口的使用。参考:msdn

22. 按照用法和需要将类定义为sealed、static或abstract。参考:msdn

23. 如果需要多次串联,请使用Stringbuilder代替string,这可以节省堆内存。

24. 检查是否有不可能执行的代码,如果有,请修改。

25. 在每个方法前注释,说明它的用法、输入类型和返回值类型信息。

26. 使用类似Silverlight Spy的工具,检查和操控Silverlight应用在运行时对XMAL的渲染,以此来改善效率。这可以在设计执行XAML时,节省大量退回和来回修改的时间。

27. 使用filddler工具通过检查HTTP/网络流量和带宽,来跟踪web应用和服务的性能。

28. 如果你想确认Visual Studio以外的方法,请使用WCFTestClient.exe工具,或者装载它的进程到Visual Studio来进行调试。

29. 在任何合理的地方使用constants和readonly。参考:/msdnmsdn

30. 尽量避免强制转换和类型转换,因为会造成性能损失。参考:msdn

31. 对于你想提供自定义信息的类,请重载ToString(来自Object类)。参考:msdn

32. 避免直接从其他代码中ctrl+c/ctrl+v。一直建议还是自己用手敲,即使你已经找到相关代码。这样可以锻炼自己写代码能力,还能正确理解那段代码的用法。最终你永远都不会忘记那段代码。

33. 保持阅读书籍和文章的良好习惯,遵循大神们的实践指导。(比如微软专家和一些著名的专家,Martin Fowler, Kent Beck, Jeffrey Ritcher, Ward Cunningham, Scott Hanselman, Scott Guthrie, Donald E Knuth.)

34. 确认代码是否有内存泄漏。如果有,请确保已修正。参考:blogs.msdn.com

35. 尽可能参加专家们组织的技术研讨会,可以接触到最新的软件趋势、技术和最佳实践

36. 要透彻理解OOP概念,并尽可能在代码里实现。

37. 知道项目设计架构,可以从整体上理解程序的执行流程。

38. 采取必要措施阻止避免任何交叉脚本攻击、SQL注入和其他安全漏洞。

39. 永远记得将保密和敏感信息加密(通过使用好的加密算法),比如保存到数据库的密码和保存在web.config文件中的连接字符,要避免被非认证的用户操纵。

40. 避免对已知类型(原始类型)使用默认关键字,比如int, decimal, bool等。多数情况下,如果不确定是值类型还是引用类型,就使用泛型类型(T)。参考:msdn

41. 微软(在代码分析条例和指导中)并不推荐使用’out’和’ref’,这些关键字是通过引用传参,请注意,’ref’参数在传入被调用方法之前,应当在调用方法中先初始化,但’out’参数就不是这样。参考:msdn

时间: 2024-07-30 13:18:48

C# 开发者审查代码的41条建议的相关文章

优化PHP代码的53条建议_php技巧

1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 2.$row['id'] 的速度是$row[id]的7倍. 3.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2. 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替. 5.注销那些不用的变量尤其是大数组,以便释放内存. 6.尽量避免使用__get,__set,__autol

AngularJS之代码风格36条建议【一】(九)

前言 其实在新学一门知识时,我们应该注意下怎么书写代码更加规范,从开始就注意养成一个良好的习惯无论是对于bug的查找还是走人后别人熟悉代码都是非常好的,利人利己的事情何乐而不为呢,关于AngularJS中的代码风格分为几节来阐述.希望对打算学习AngularJS的新手或者已经在路上的老手有那么一丢丢的帮助也是可以的. 普遍规则 tips 01(定义一个组件脚本文件时,建议此文件的代码少于400行) (1)有利于单元测试和模拟测试. (2)增加可读性.可维护性.避免和团队在源代码控制上的冲突. (

JAVA代码编写的30条建议

JAVA代码编写的30条建议 (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母.这样便可标志出它们属于编译期的常数. Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.对于域名扩展名称

10条建议帮助你创建更好的jQuery插件

  本文总结了帮助你创建更好jQuery插件的10条建议.分享给大家供大家参考.具体说明如下: 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了.使用相同的设计模式和架构也让修复bug或者二次开发更容易.一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂.我在这里分享10条我总结的经验. 1. 把你的代码全部放在闭包里面 这是我用的最多的一

30+关于如何成为更好Android开发者的短小而专业的建议

本文讲的是30+关于如何成为更好Android开发者的短小而专业的建议,成为一个Android开发者容易,成为一个成功而又出色的Android开发者难.要达此成就需要许多努力,激情,付出与毅力. 我无法给出一个成为成功开发者的捷径,但是如果你愿意付出汗水与内心的话,定会如愿以偿. 关于如何成为更好的Android开发者,应你们的要求这里是根据自身经验得出的一些精简的专业性建议.所以如果你决定入坑Android开发或者已经做了Android开发一段时间,那么你找对地方了. 所以废话不多说,让我们开

谷歌开发者大会传达的8条关键信息

[编者按]本文作者为 Chris Ward,主要介绍新一年的谷歌开发者大会为安卓开发者们带来的8条关键讯息.本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 又是一年的谷歌开发者大会.这次,谷歌发布了一系列公告,包括它进军智能助理领域的消息,同时也发布了好几款古灵精怪的设备和应用.然而谷歌仅给出了少部分细节,也没有开放针对开发者的API权限.因此我们将稍后再做报道.如果你想了解更多,可以查看谷歌开发者大会官方博文. Android N有很多新功能,其中笔者最喜欢的(以用户为中

5条建议,让应用软件服务发挥云计算平台的优势

传统的企业软件,往往部署在企业内网,以服务单个企业或集团为主,具有可以估算的系统吞吐量和访问量.基于估计的性能要求,采购相应规模的服务器,然后部署应用程序.这种背景下开发的应用软件,往往对于扩容能力要求不高,适应不了通过互联网对外服务的场景.通过互联网对外服务时,客户会越来越多,而访问量可能有明显的波动性.为了满足高峰时期的访问量而部署的计算能力,在平常时期是很大的浪费.不论是企业自己的互联网业务(B2C, B2B),还是应用软件开发商以软件即服务(SaaS)的形式提供的企业应用,都需要反思软件

将 Web 应用性能提高十倍的10条建议

将 Web 应用性能提高十倍的10条建议 提高 web 应用的性能从来没有比现在更重要过.网络经济的比重一直在增长:全球经济超过 5% 的价值是在因特网上产生的(数据参见下面的资料).这个时刻在线的超连接世界意味着用户对其的期望值也处于历史上的最高点.如果你的网站不能及时的响应,或者你的 app 不能无延时的工作,用户会很快的投奔到你的竞争对手那里. 举一个例子,一份亚马逊十年前做过的研究可以证明,甚至在那个时候,网页加载时间每减少100毫秒,收入就会增加1%.另一个最近的研究特别强调一个事实,

jQuery性能优化28条建议你值得借鉴_jquery

jQuery性能优化28条建议 一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可以打印出来或者设为桌面背景. 一.选择器性能优化建议 1. 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则.jQuery选择一个元素最快的方法就是用ID来选择了. 复制代码 代码如下: $('#content').hide(); 或者从ID选择器继承来选