2010-04-22 11 views
11

Być może pytanie trywialne, ale jestem zainteresowany odpowiedziami. Obecnie refaktoryzuję niektóre bardzo duże monolityczne pliki zasobów ciągów (jeden plik zasobowy dla każdego projektu, w około 30 projektach). Rozdzielam je tak, że stosujemy konwencję dla naszych plików i ułatwiamy wyszukiwanie łańcuchów i zarządzanie nimi podczas kodowania.Schematy nazewnictwa plików zasobów i zarządzanie nimi

Generalnie jestem dzielenie plików na tym schemacie:

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

I Nie jestem strasznie podekscytowany nazewnictwem i po prostu zastanawiam się, czego używają inni ludzie. Na przykład, zamiast AppResources (strun do użytku wewnętrznego przez aplikację), widziałem wiele projektów demonstracyjnych używać StringResources, Internal (straszne!), Itp

Pomysły/anegdoty/sugestie na temat zarządzania zasobami lub standardowe schematy nazewnictwa są doceniane.

Odpowiedz

14

ja generalnie uporządkować swoje zasoby tak:

Plik pierwszy zasób jest używany przez całą aplikację (np Project.Core) i obejmuje wszystkie rodzaje powszechnie stosowanych wspólnych ciągów. I rzeczywiście nie robi żadnej różnicy między błędów/wyjątków i rejestrowania:

  • CommonResources.resx
    modyfikatora dostępu: Public
    • Error_Context
      np Error_ArgumentCannotBeNull
    • Warn_Context
      np. Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context
      np. Info_UpdateAvailable
    • Validation_Context
      np. Validation_EmailNotValid

Plik drugi zasób jest używany przez warstwy prezentacji i zawiera wszystkie rodzaje strun UI. Nazewnictwo może się różnić od projektu, ale ogólnie wygląda jak na poniższym schemacie:

  • PresentationResources.resx
    dostępu modyfikatora: Wewnętrzna
    • Common_Context
      przykład Common_Yes
    • Section/Controller_Window/View_Context
      np.Help_FAQ_HeadlineHowToUseResources lub Help_FAQ_TextHowToUseResources

końcu każdy projekt/zespół ma mieć również plik zasobów wewnętrznego błędu/Warn/info zasobów/Validation, które są zbyt szczegółowe, aby przejść do pliku CommonResources.resx. Muszę przyznać, że w większości nazwać ten plik zasobów InternalResources.cs;)

  • InternalResources.resx
    dostępu modyfikator: Wewnętrzna
    • Classname_Error_Context
      przykład BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context
Powiązane problemy