建议136:优先使用后缀表示已有类型的新版本
加后缀在某些情况下是很奇怪的形式,我们都不愿意看到OrderProcessor2这样的类型。但是,有的时候仍旧有必要这样做。最典型的是FCL中关于数字证书操作的X509Certificate和X509Certificate2这两个类型。
X509Certificate类型最早出现在FCL 1.0/1.1版本中,后来在FCL2.0版本中出现了一个后续的版本:类型X509Certificate2。这个后续的版本不是一个先前版本的子类,而是作为替代版本出现的。
记住,当不得不出现一个类型的新版本时,应该加后缀,而不是前缀。这不仅仅是习惯问题,这还有助于Intelligence发现这个新版本的类。
新版本不妥的命名方式如下:
class SampleClass { //省略 } class SampleClassNew { //省略 }
我们可能从命名上知道SampleClass是先前版本,SampleClassNew是新版本,但是,如果将来再次出现一个新版本,就很难命名了。
用数字作为后缀有效的避免了这种情况的出现。SampleClass的后续版本可以命名为SampleClass2、SampleClass3等。
转自:《编写高质量代码改善C#程序的157个建议》陆敏技