Domanda

Una domanda banale forse, ma mi interessa le risposte. Attualmente sto refactoring alcuni file molto grandi risorse di stringa monolitico (file di risorse un cassonetto per progetto, in circa 30 progetti). Sono splitting loro in modo tale che seguiamo una convenzione per i nostri file e fare le corde più facili da trovare e gestire quando la codifica.

In generale Sono dividere i file in questo schema:

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

Non sto terribilmente entusiasta con la nomina, e sto solo chiedendo cosa altre persone usano. Ad esempio, invece di AppResources (stringhe per uso interno con l'applicazione), ho visto un sacco di demo progetti utilizzano StringResources, Internal (terribile!), Ecc.

idee / aneddoti / suggerimenti su gestione delle risorse o schemi di denominazione standard sono apprezzati.

È stato utile?

Soluzione

Io in genere strutturare le mie risorse in questo modo:

Il primo file di risorse viene utilizzato da tutta l'applicazione (ad esempio Project.Core) e include tutti i tipi di stringhe comuni ampiamente utilizzati. Io in realtà non fa alcuna differenza tra errori / eccezioni e registrazione:

  • CommonResources.resx
    modificatore di accesso: Pubblico
    • Error_Context per esempio
      Error_ArgumentCannotBeNull
    • Warn_Context per esempio
      Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context per esempio
      Info_UpdateAvailable
    • Validation_Context per esempio
      Validation_EmailNotValid

Il secondo file di risorse viene utilizzato dal livello di presentazione e contiene tutti i tipi di stringhe UI. La denominazione può variare da progetto a progetto, ma in generale sembra che il seguente schema:

  • PresentationResources.resx
    modificatore di accesso: interno
    • Common_Context per esempio
      Common_Yes
    • Section/Controller_Window/View_Context per esempio
      Help_FAQ_HeadlineHowToUseResources o Help_FAQ_TextHowToUseResources

Infine ogni progetto / montaggio non anche avere un file di risorse interne per l'errore / warn / risorse Info / convalida che sono troppo specifiche per andare nel file CommonResources.resx. Devo ammettere, che per lo più nomino questo file di risorse InternalResources.cs;)

  • InternalResources.resx
    modificatore di accesso: interno
    • Classname_Error_Context per esempio
      BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top