我正在使用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 接口的契约。这样,当我在解决方案资源管理器中看到这两个项目时,它们在视觉上是“结合在一起的”,这有助于让我的头脑保持整洁。当然,合约本身并不是一个接口,所以以这种方式命名它对我来说很糟糕。
在这些情况下,你们(和女孩)如何命名您的合同类?有普遍接受的约定吗?