C#编码标准--编码习惯
作者:网络转载 发布时间:[ 2013/10/10 15:46:05 ] 推荐标签:
27. 避免指定特殊类型的枚举变量。
//避免
public enum Color : long
{
Red,Green,Blue
}
28. 即使if语句只有一句,也要将if语句的内容用大括号扩起来。
29. 避免使用三目条件操作符。
30. 避免在条件语句中调用返回bool值的函数。可以使用局部变量并检查这些局部变量。
bool IsEverythingOK()
{…}
//避免
if (IsEverythingOK ())
{…}
//替换方案
bool ok = IsEverythingOK();
if (ok)
{…}
31. 总是使用基于0开始的数组。
32. 在循环中总是显式的初始化引用类型的数组。
public class MyClass
{}
MyClass[] array = new MyClass[100];
for(int index = 0; index < array.Length; index++)
{
array[index] = new MyClass();
}
33. 不要提供public 和 protected的成员变量,使用属性代替他们。
34. 避免在继承中使用new而使用override替换。
35. 在不是sealed的类中总是将public 和 protected的方法标记成virtual的。
36. 除非使用interop(COM+ 或其他的dll)代码否则不要使用不安全的代码(unsafe code)。
37. 避免显示的转换,使用as操作符进行兼容类型的转换。
Dog dog = new GermanShepherd();
GermanShepherd shepherd = dog as GermanShepherd;
if (shepherd != null )
{…}
38. 当类成员包括委托的时候
a) Copy a delegate to a local variable before publishing to avoid concurrency race
condition.
b) 在调用委托之前一定要检查它是否为null
public class MySource
{
public event EventHandler MyEvent;
public void FireEvent()
{
EventHandler temp = MyEvent;
if(temp != null )
{
temp(this,EventArgs.Empty);
}
}
}
39. 不要提供公共的事件成员变量,使用事件访问器替换这些变量。
public class MySource
{
MyDelegate m_SomeEvent ;
public event MyDelegate SomeEvent
{
add
{
m_SomeEvent += value;
}
remove
{
m_SomeEvent -= value;
}
}
}
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11