zoukankan      html  css  js  c++  java
  • 提高C#编程水平的50个要素

    1.总是用属性 (Property) 来代替可访问的数据成员

    2.在  readonly 和 const 之间,优先使用 readonly

    字串5

    3.在 as 和 强制类型转换之间,优先使用 as 操作符 字串3

    4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if

    字串1

    5.总是为自定义类重载 ToString 方法

    字串5

    6.区别值类型和引用类型

    字串1

    7.使用不可变的值类型(Immutable Atomic Value Types)

    字串1

    8.在值类型中,确保0是一个合法的数据

    字串8

    9.理解 ReferenceEquals, static Equals, instance Equals 和 比较运算符(==)之间的关系 字串6

    10.理解 GetHashCode方法的缺陷

    字串5

    11.在编写循环时,优先使用 foreach.

    字串7

    12.在定义变量的时候就将其初始化

    字串1

    13.使用静态构造函数来初始化静态成员变量

    字串1

    14.用多个构造函数时,利用构造函数链

    字串6

    15.使用using和try/finally来处理资源的释放

    字串8

    16.尽量避免产生资源垃圾 字串5

    17.尽量避免使用装箱(boxing)和拆箱(unboxing)

    字串3

    18.实现类的 Dispose 方法

    字串4

    19.在接口和继承(Inheritance)之间,优先使用接口(interface)

    字串9

    20.区分接口和重载(overrides)

    字串1

    21.用委托(delegate)来实现回调(callback)

    字串4

    22.用事件(event)来定义外部接口 字串9

    23.避免返回类内部成员的引用

    字串2

    24.使用元数据来控制程序

    字串8

    25.优先使用可序列化(serilizable)类型 字串6

    26.对需要排序的对象实现IComparable和IComparer接口

    字串9

    27.避免使用 ICloneable接口

    字串4

    28.避免使用类型转换操作符

    字串5

    29.只有当基类加入了与派生类中现有的函数名称相同的函数时,才需要使用 new 操作符

    字串6

    30.尽量使用 CLS-Compliant 字串3

    31.尽量编写短少,简单的函数 字串6

    32.尽量编写比较小的程序集(assembly) 字串8

    33.限定类型的可见性(visibility) 字串7

    34.编写大粒度的 web API

    字串1

    35.在使用事件时,优先继承基类事件,而不是重新创建一个事件

    字串2

    36.多使用 framework 的运行时调试 (DEBUG, TRACE, EVENTLOG等)

    字串8

    37.使用.net标准的配置机制 字串7

    38.使用并且在类中支持.net的数据绑定功能 (Data Binding)

    字串7

    39.使用.net的验证机制 (Validation) 字串7

    40.根据你的需求选择正确的集合类(Collection)

    字串9

    41.在自定义结构中使用 DataSet

    字串9

    42.利用属性(Attributes)

    字串9

    43.不要过度使用反射(Reflection)

    字串4

    44.创建完整的,应用程序特定的异常 字串8

    45.尽可能多的考虑程序可能出现的异常,并作出处理 字串1

    46.尽可能少的使用 Interop

    字串8

    47.尽量使用安全代码 (safe code)

    字串7

    48.多多学习、使用外部工具和资源

    字串6

    49.准备使用 C# 2.0 字串6

    50.学习 ECMA 标准

  • 相关阅读:
    ASP.NET Zero--后端应用程序
    ASP.NET Zero--前期要求
    ASP.NET Zero--解决方案结构(层)
    ASP.NET Zero--开发指南
    Pos终端中的主密钥、工作密钥、pin密钥、mac密钥
    location.origin不兼容IE8解决方案
    一些常用的meta标签
    c#核心基础-委托
    springBoot项目启动去掉多余的启动日志
    如何发行自己的TRC20代币,并上线JustSwap去中心化交易所
  • 原文地址:https://www.cnblogs.com/csj007523/p/1285558.html
Copyright © 2011-2022 走看看