Aller au contenu
Filtrer les règles par style d’implémentation
Style
Les deux styles
Sévérité
mineure
Détection
fitness
S’applique à
  • Modèle (domain)
  • Use cases (application)
  • Contrats publiés (public)

NAM-07 · Une interface n’a pas de préfixe I ​

Style
Les deux styles
Sévérité
mineure
Détection
fitness
S’applique à
  • Modèle (domain)
  • Use cases (application)
  • Contrats publiés (public)

Signal ​

IWalletRepository, IExchangeRates, IClock.

Pourquoi ​

Ceux qui appellent un port n’ont pas à savoir s’il est une interface, une abstract class ou une classe. Le préfixe I le leur dit quand même, et pousse l’implémentation à prendre le bon nom : IWalletRepository et WalletRepository, et le lecteur se demande lequel injecter.

Le port prend le nom de ce qu’il offre (WalletRepository, ExchangeRates, Clock), l’implémentation le nom de sa technologie (NAM-06).

Exceptions ​

Un nom du langage qui commence par I : Iban n’est pas signalé.

Correction ​

Retirer le préfixe, et nommer l’implémentation d’après sa technologie : IExchangeRates et ExchangeRates deviennent ExchangeRates et HttpExchangeRates.

Voir aussi ​

SRV-06 refuse le suffixe Impl sur l’implémentation.