J'utilise les classes Contrats de code dans l'espace de noms System.Diagnostics.Contracts
pour définir des contrats pour mes objets et je me demande comment d'autres nomment leurs classes de contrat lorsque le contrat est défini sur une base. interface. Permettez-moi d'illustrer par un petit exemple:Conventions de dénomination pour les classes de Contrats de code des types d'interface
[ContractClass(typeof(AnimalContract))]
public interface IAnimal
{
// definition here
}
[ContractClassFor(typeof(IAnimal))]
public class AnimalContract : IAnimal
{
// explicit interface implementation here
}
Dans cet exemple, je l'ai appelé la classe contrat AnimalContract, mais est-il un meilleur nom? Parce que le contrat est défini par rapport à une interface, je veux presque nommer la classe IAnimalContract pour illustrer qu'il s'agit d'un contrat pour l'interface IAnimal. De cette façon, lorsque je vois les deux éléments dans l'Explorateur de solutions, ils sont visuellement «attachés», ce qui aide à garder les choses belles et propres dans ma tête. Bien sûr, le contrat lui-même n'est pas une interface, donc le nommer de cette façon me semble mauvais.
Comment les gars (et les filles) nommez-vous vos classes de contrat dans ces cas? Y a-t-il une convention généralement acceptée?