2010-04-22 17 views
11

Una domanda banale, forse, ma sono interessato alle risposte. Attualmente sto refactoring alcuni file di risorse stringa monolitici molto grandi (un file di risorse di dumpster per progetto, in circa 30 progetti). Li sto suddividendo in modo tale da seguire una convenzione per i nostri file e rendere le stringhe più facili da trovare e gestire durante la codifica.Gestione e schemi di denominazione dei file di risorse stringa

generale che sto dividere i file in questo schema:

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

I' Non sono terribilmente entusiasta del nome, e mi sto solo chiedendo che cosa usano gli altri. Ad esempio, invece di AppResources (stringhe per uso interno con l'applicazione), ho visto un sacco di progetti dimostrativi usare StringResources, Internal (terribile!), Ecc

Idee/aneddoti/suggerimenti su gestione delle risorse o di serie gli schemi di denominazione sono apprezzati.

risposta

14

Io generalmente 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
      esempio Error_ArgumentCannotBeNull
    • Warn_Context
      ad es. Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context
      , ad es. Info_UpdateAvailable
    • Validation_Context
      ad es. Validation_EmailNotValid

Il secondo file di risorse è 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
    Accesso modificatore: Internal
    • Common_Context
      esempio Common_Yes
    • Section/Controller_Window/View_Context
      , ad es.Help_FAQ_HeadlineHowToUseResources o Help_FAQ_TextHowToUseResources

Infine ogni progetto/montaggio non anche avere un file di risorse interne per errore/Warn/risorse/convalida Info 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: Internal
    • Classname_Error_Context
      esempio BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context
Problemi correlati