अपनी पसंद की {DVCS} में नामित शाखाओं के लिए अच्छा नामकरण सम्मेलन


16

हम अपने कार्यालय में मर्क्यूरियल को धीरे-धीरे एकीकृत कर रहे हैं और वेब-डेवलपमेंट कर रहे हैं, जिसका नाम हमने शाखाओं का उपयोग करना शुरू कर दिया है।

हालांकि हमने अपनी शाखाओं के नामकरण के लिए एक अच्छा सम्मेलन नहीं पाया है।

हमने कोशिश की:

  • FeatureName (रेखा के नीचे समस्या के कारण इसे देख सकता है)
  • DEVInitial_FeatureName (डेवलपर आने और लाइन से नीचे जाने पर भ्रमित हो सकता है)
  • {यूनिकआईडी (int)} _ सुविधा

अब तक का UniqueID_featureName जीत रहा है, हम इसे केवल संदर्भ के लिए एक छोटे DB में बनाए रखने के बारे में सोच रहे हैं।

यह होगा: ब्रांच (int), फीचरनाम (varchar), featureDescription (varchar), तिथि, जो आदि ...

इससे हमें शाखाएँ मिलेंगी जैसे: 1_NewWhizBangFeature, 2_NowWithMoreFoo, ... और हमारे पास एक आसान संदर्भ होगा कि वह शाखा लॉग की जाँच किए बिना क्या करती है।

कोई बेहतर समाधान वहाँ?

जवाबों:


14

यदि आपके पास कोई समस्या ट्रैकर नहीं है, तो मैं एक सेट अप करने और फिर {समस्या ट्रैकर नाम} _ {टिकट नंबर} का उपयोग करने की सलाह देता हूं। जब कोई व्यक्ति अब से एक बग फाइल करता है और आपको ठीक से पता नहीं है कि फीचर को कैसे काम करना चाहिए था, तो फ़ाइल को एनोटेट करना और उपयोगकर्ता को उस सटीक कार्यक्षमता का अनुरोध करने पर वापस लाना आसान होगा।


सहमत हम बगट्रैकर हैं और बग फिक्स के लिए शाखा नाम में बगिड का उपयोग करने की योजना बना रहे हैं। मेरा प्रश्न पूरी तरह से नए विकास के लिए अधिक था, जब आप कुछ भी ठीक नहीं कर रहे थे, लेकिन पूरी तरह से कुछ नया जोड़ रहे थे। मुझे लगता है कि हम गूंगा वृद्धि टिकट बना सकते हैं और वहां से जा सकते हैं।
jfrobishow

5
आपको बिल्कुल नई सुविधाओं के लिए टिकट बनाने चाहिए। ट्रैक किए जाने के लिए भी काम कर रहे हैं। अद्वितीय आईडी की आवश्यकता के लिए +1।
एशेल्ली

यदि आप नई सुविधाओं के सभी विवरण ट्रैकर में रखना सुनिश्चित करते हैं, तो कोई बाद में यह सत्यापित कर सकता है कि इसका कार्य डिज़ाइन किया गया है या यदि वास्तव में बग है। मैं एक विकास टीम पर काम करता हूं जो 5+ वर्ष पुराना कार्यक्रम बनाए रखता है। ऐसे समय होते हैं जहां क्लाइंट एक बग फाइल करता है और जब हम शोध करते हैं तो हम पाते हैं कि यह डिज़ाइन के रूप में काम कर रहा है और मूल डेवलपर और मूल अनुरोधकर्ता दोनों चले गए हैं। हमारे पास ऐसी ही स्थितियाँ हैं जहाँ हम नहीं जानते कि कुछ ऐसा क्यों है और अगर सुविधाएँ ट्रैकर में नहीं थीं तो हमारे पास पता लगाने का कोई तरीका नहीं होगा।
आसा आयर्स

2

मेरा सुझाव है कि इसे FeatureName(या) के अनुसार सरल और नाम वाली शाखाएं रखेंfeature-name ) सम्मेलन के । हां, इसका मतलब साझा नाम स्थान है, लेकिन यह वास्तविक दुनिया में शायद ही कभी एक समस्या है। एक बार जब एक फीचर किया जाता है और पूरी तरह से मेनलाइन में विलय हो जाता है तो शाखा को सुरक्षित रूप से हटाया जा सकता है।

वितरित संस्करण नियंत्रण का मुख्य विचार यह है कि शाखा के लिए आसान होना चाहिए, अनिवार्य नौकरशाही की तरह अतिरिक्त नौकरशाही का परिचय देना, केवल यह कठिन बनाने वाला है।


1
मैं सहमत हूं, यह जाने का रास्ता है। किस दुनिया में आपकी कभी इतनी शाखाएँ होंगी कि आप टकराव से बच नहीं सकते?
वैकल्पिक

पर्याप्त रूप से, मेरे नाम से बंधे विवरण का विवरण प्राप्त करना हमारे लिए अधिक महत्वपूर्ण है ... प्रारंभिक प्रतिबद्ध में यह होना चाहिए, लेकिन मुझे यह जल्दी निकालने का कोई तरीका नहीं पता है।
jfrobishow

1
एक बड़े कॉर्पोरेट वातावरण में, डेवलपर्स को सुविधाओं के लिए नाम देने से सिरदर्द जल्द या बाद में होगा।
एएसएचली

1
मैं देख रहा हूं, क्योंकि "बड़े कॉर्पोरेट वातावरण" डेवलपर्स पर भरोसा नहीं किया जा सकता है। लेकिन रुकिए, वे चर, कार्यों और फाइलों के नाम भी बनाते हैं। हमें नियंत्रण के लिए एक समिति गठित करनी चाहिए! (विडंबना)
एडम बर्टेक

2

मैं इस तरह के फॉर्म (उदाहरण के लिए) का उपयोग करने की सलाह देता हूं:

BUG_ID
BUG # आईडी
टिकट आईडी
टिकट आईडी
feature_bla-bla-bla
रिहाई-x.xx.xx
release_x.xx.xx
build_2010-20-12
build_4565
BRANCH_x.xx.xx

बस अच्छे उपसर्गों का चयन करें ( एचजी शाखाओं से फ़िल्टर आउटपुट की अनुमति देने के लिए ), पूंजीकरण नियम और उपसर्ग और आईडी / नामों के बीच सीमांकक।


+1 हम अंत में BUGID_ {freeCamelCasedTextDescription} के साथ गए।
जॉफ्रोबिशो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.