2010-04-22 26 views
11

शायद एक मामूली सवाल है, लेकिन मुझे जवाब में रूचि है। मैं वर्तमान में लगभग 30 परियोजनाओं में कुछ बहुत बड़ी मोनोलिथिक स्ट्रिंग संसाधन फ़ाइलों (प्रति परियोजना एक डंपस्टर संसाधन फ़ाइल) का पुन: उपयोग कर रहा हूं। मैं उन्हें विभाजित कर रहा हूं कि हम अपनी फाइलों के लिए एक सम्मेलन का पालन करें और कोडिंग के दौरान स्ट्रिंग को ढूंढना और प्रबंधित करना आसान बनाएं।स्ट्रिंग संसाधन फ़ाइल नामकरण योजनाएं और प्रबंधन

आम तौर पर मैं इस योजना में फ़ाइलों बंटवारे हूँ:

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

मैं मैं नामकरण के साथ बहुत रोमांचित नहीं हूं, और मैं बस सोच रहा हूं कि अन्य लोग क्या उपयोग करते हैं। उदाहरण के लिए, बजाय AppResources (आवेदन के द्वारा आंतरिक उपयोग के लिए तार) की, मैं डेमो परियोजनाओं का एक बहुत देखा है का उपयोग StringResources, Internal (भयानक!), आदि

विचार/उपाख्यानों/प्रबंध संसाधनों या मानक पर सुझाव नामकरण योजनाओं की सराहना की जाती है।

उत्तर

14

मैं आम तौर पर इस तरह मेरी संसाधन संरचना:

पहले संसाधन फ़ाइल पूरे आवेदन (जैसे 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

अंत में हर परियोजना/विधानसभा भी त्रुटि/चेतावनी/जानकारी/मान्यता संसाधनों वह भी CommonResources.resx फ़ाइल में जाने के लिए विशिष्ट हैं के लिए एक आंतरिक संसाधन फ़ाइल है। मैं स्वीकार करना होगा, कि मैं ज्यादातर इस संसाधन फ़ाइल InternalResources.cs नाम;)

  • InternalResources.resx
    पहुँच संशोधक: आंतरिक
    • Classname_Error_Context
      उदा BCrypt_Error_InvalidSaltRevision
    • Classname_Warn_Context
    • Classname_Info_Context
    • Classname_Validation_Context