代码规范(5)

2020-06-23 12:14

catch (Exception ex) { // Catching general exception is bad... we will never know whether it // was a file error or some other error. // Here you are hiding an exception. // In this case no one will ever know that an exception happened. return \ } } 不必在所有方法中捕捉一般异常。不管它,让程序崩溃。这将帮助你在开发周期发现大多数的错误。

6)避免利用返回值作为函数的错误代码,应该在程序中使用异常来处理错误。

10 其他

10.1类型转换

1)尽量避免强制类型转换。

2) 如果不得不做类型转换,尽量使用as关键字安全的转换到另一个类型。

Dog dog=new GermanShepherd();

GermanShepherd shepherd=dog as GermanShepherd; if (shepherd!=null) {…}

10.2正确性与容错性要求 1)程序首先是正确,其次是优美

2)无法证明你的程序没有错误,因此在编写完一段程序后,应先回头检查。

3)改一个错误时可能产生新的错误,因此在修改前首先考虑对其它程序的影响。

4)对所有的用户输入,必须进行合法性检查。

5)尽量不要比较浮点数的相等,如: 10.0 * 0.1 == 1.0 , 不可靠

6)程序与环境或状态发生关系时,必须主动去处理发生的意外事件,如文件能否逻辑锁定、打印机

是否联机等,对于明确的错误,要有明确的容错代码提示用户,在这样不确定的场合都使用Try Throw Catch。

7)单元测试也是编程的一部份,提交联调测试的程序必须通过单元测试。

10.3可重用性要求

1)重复使用的完成相对独立功能的算法或代码应抽象为asp.net服务或类。

2)asp.net服务或类应考虑OO思想,减少外界联系,考虑独立性或封装性。

3)避免让你的代码依赖于运行在某个特定地方的程序集。

10.4其他

1) 不要手动去修改任何机器生成的代码

a) 如果修改了机器生成的代码,修改你的编码方式来适应这个编码标准 b) 尽可能使用partial classes特性,以提高可维护性。(C#2.0新特性) 2)避免在一个程序集中(assembly)中定义多个Main()方法。

3)只把那些绝对需要的方法定义成public,而其它的方法定义成internal。

4)避免使用三元条件操作符。

5)除非为了和其它语言进行互动,否则绝不要使用不安(unsafe)的代码。

6)接口和类中方法和属性的比应该在2:1左右。

7)努力保证一个接口有3~5个成员。

8) 避免在结构中提供方法

a) 参数化的构造函数是鼓励使用的 b) 可以重载运行符

9)当早绑定(early-binding)可能的时候就尽量不要使用迟绑定(late-binding)。

10) 除了在一个构造函数中调用其它的构造函数之外,不要使用this关键字。

//Example of proper use of ‘this’ public class MyClass {

public MyClass(string message) { }

public MyClass():this(?Hello?) { } }

11) 不要使用base关键字访问基类的成员,除非你在调用一个基类构造函数的时候要解决一

个子类的名称冲突

//Example of proper use of ‘base’ public class Dog {

public Dog(string name) { }

virtual public void Bark(int howlong) { } }

public class GermanShepherd:Dog {

public GermanShepherd(string name):base(name) { }

override public void Bark(int howLong) {

base.Bark(howLong) } }

12) 生成和构建一个长的字符串时,一定要使用StringBuilder,而不用string


代码规范(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中小学生防溺水安全教育案例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: