Схемы именования файловых ресурсов и управление ими - PullRequest
12 голосов
/ 22 апреля 2010

Тривиальный вопрос, возможно, но мне интересны ответы. В настоящее время я занимаюсь рефакторингом некоторых очень больших файлов ресурсов монолитной строки (один файл ресурсов мусорной корзины на проект, в 30 проектах). Я делю их так, что мы следуем соглашению для наших файлов и облегчаем поиск и управление строками при кодировании.

Вообще я делю файлы по этой схеме:

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

Я не очень доволен именами, и мне просто интересно, что используют другие люди. Например, вместо AppResources (строки для внутреннего использования приложением), я видел много демонстрационных проектов, использующих StringResources, Internal (ужасно!) И т. Д.

Приветствуются идеи / анекдоты / предложения по управлению ресурсами или стандартные схемы именования.

1 Ответ

15 голосов
/ 10 февраля 2011

Я обычно структурирую свои ресурсы так:

Первый файл ресурсов используется всем приложением (например, Project.Core) и включает в себя все виды широко используемых общих строк. Я на самом деле не делаю никакой разницы между ошибками / исключениями и ведением журнала:

  • CommonResources.resx
    Модификатор доступа: общедоступный
    • Error_Context
      например. Error_ArgumentCannotBeNull
    • Warn_Context
      например. Warn_ApplicationSettingNotFoundUseDefault
    • Info_Context
      например. Info_UpdateAvailable
    • Validation_Context
      например. Validation_EmailNotValid

Второй файл ресурсов используется уровнем представления и содержит все виды строк пользовательского интерфейса. Наименование может варьироваться от проекта к проекту, но обычно это выглядит следующим образом:

  • PresentationResources.resx
    Модификатор доступа: Внутренний
    • Common_Context
      например. Common_Yes
    • Section/Controller_Window/View_Context
      например. Help_FAQ_HeadlineHowToUseResources или Help_FAQ_TextHowToUseResources

Наконец, каждый проект / сборка также имеет внутренний файл ресурсов для ресурсов Error / Warn / Info / Validation, которые слишком специфичны для размещения в файле CommonResources.resx. Я должен признать, что я в основном называю этот файл ресурсов InternalResources.cs;)

  • InternalResources.resx
    Модификатор доступа: Внутренний
    • Classname_Error_Context
      например. BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context
...