Question

Une question triviale peut-être, mais je suis intéressé par les réponses. Je refactorisation actuellement de très gros fichiers de ressources de chaîne monolithique (un fichier de ressources dumpster par projet, dans environ 30 projets). Je suis partage les tels que nous suivons une convention pour nos fichiers et définirons les chaînes plus faciles à trouver et à gérer lors du codage.

En général, je suis partage les fichiers dans ce schéma:

  • ErrorMessages.resx
  • LogMessages.resx
  • ViewResources.resx
  • AppResources.resx

Je ne suis pas terriblement ravi de la nomination, et je me demandais ce que les autres utilisent. Par exemple, au lieu de AppResources (cordes à usage interne par l'application), j'ai vu beaucoup de projets de démonstration utilisent StringResources, Internal (horrible!), Etc.

Idées / anecdotes / suggestions sur la gestion des ressources ou des systèmes de nommage standard sont appréciés.

Était-ce utile?

La solution

Je structure généralement mes ressources comme ceci:

Le premier fichier de ressources est utilisé par l'ensemble de l'application (par exemple Project.Core) et ne comprend toutes sortes de cordes couramment utilisées largement. Je ne fais pas vraiment de différence entre les erreurs / exceptions et l'exploitation forestière:

  • CommonResources.resx modificateur d'accès: Public
    • Error_Context par exemple Error_ArgumentCannotBeNull
    • Warn_Context par exemple Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context par exemple Info_UpdateAvailable
    • Validation_Context par exemple Validation_EmailNotValid

Le deuxième fichier de ressource est utilisée par la couche de présentation et contient toutes sortes de chaînes UI. La dénomination peut varier d'un projet à mais généralement il semble que le schéma suivant:

  • PresentationResources.resx modificateur d'accès: interne
    • Common_Context par exemple Common_Yes
    • Section/Controller_Window/View_Context par exemple Help_FAQ_HeadlineHowToUseResources ou Help_FAQ_TextHowToUseResources

Enfin chaque projet / assemblage ne dispose également d'un fichier de ressources internes pour erreur / warn / Ressources Info / validation qui sont trop spécifiques pour aller dans le fichier CommonResources.resx. Je dois admettre que je nomme la plupart du temps ce fichier de ressources InternalResources.cs;)

  • InternalResources.resx modificateur d'accès: interne
    • Classname_Error_Context par exemple BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top