【发布时间】:2010-08-12 21:04:08
【问题描述】:
我正在使用 System.Diagnostics.Contracts 命名空间中的代码契约类来为我的对象定义一些契约,我想知道当契约是针对基本接口定义时,其他人如何命名他们的契约类。让我用一个小例子来说明:
[ContractClass(typeof(AnimalContract))]
public interface IAnimal
{
// definition here
}
[ContractClassFor(typeof(IAnimal))]
public class AnimalContract : IAnimal
{
// explicit interface implementation here
}
在本例中,我将合同类命名为 AnimalContract,但还有更好的名称吗?因为契约是针对一个接口定义的,所以我几乎想将类命名为 IAnimalContract 来说明它是 IAnimal 接口的契约。这样,当我在解决方案资源管理器中看到这两个项目时,它们在视觉上是“结合在一起的”,这有助于让我的头脑保持整洁。当然,合约本身并不是一个接口,所以以这样的方式命名它对我来说很糟糕。
在这些情况下,你们(和女孩)如何命名合同类?有普遍接受的约定吗?
【问题讨论】:
标签: c# .net naming-conventions code-contracts design-by-contract