Как только вы примете другие предложения относительно того, когда нужно перевернуть свои вековые предположения с 19 на 20, лучший из всех возможных миров включает обновление вашего источника данных раз и навсегда с помощью 4-значных лет, так что вы можете прекратить делать предположения все время.
Просто используйте соглашение об именах Паскаля. Не приписывайте ключ модулю или классу. Обобщите его, чтобы его можно было использовать повторно.
Например: ReadWriteWarningMessage
Соглашение, разделенное точкой, отлично работает для пунктов меню. Но как насчет строк, которые создаются динамически, или пользовательских сообщений.
Если у вас есть пара значений имени в ресурсах, таких как
CloseConfirmation - Вы хотите закрыть окно без сохранения?
Добавьте новый класс с именем Messages.
public static class Messages
{
public const String CloseConfirmation = "CloseConfirmation";
public static String GetMessage( String messageId )
{
return //your namespace//.Properties.Resources.ResourceManager.GetString( messageId );
}}
и в доступ к нему используйте
MessageBox.Show( Messages.GetMessage(Messages.CloseConfirmation));
Надеюсь, это поможет.
учитывали ли вы символы подчеркивания вроде Menu_File_Open или что-то вроде Place_StringDescription? В настоящее время я использую схему, в которой обычные вещи переходят в Common_, например Common_PressHereTo, а конкретные просмотры переходят в соответствующее место, например MainMenu_FileOpen. Как правило, перед подчеркиванием i введите текст в месте появления ресурса, а после подчеркивания - описательный текст.
Я пытаюсь организовать его аналогично пространствам имен, которые я использую для компоновки структуры программы. Итак, если у вас есть MyCompany.MyProduct.MyModule, то строки в этом модуле будут MyModule_Blah_Blah. Таким образом, они уникальны в рамках всего продукта.