प्रारंभिक संस्करण के रूप में क्या उपयोग करें? [बन्द है]


122

मैं आमतौर पर एक संस्करण 1.0.0 के साथ अपनी परियोजनाएं शुरू करता हूं। जैसे ही मेरे पास कुछ सामान होता है, मैं इसे 1.0.0 के रूप में जारी करता हूं और 1.1.0 के साथ आगे बढ़ता हूं।

हालाँकि, यह प्रयोग करने योग्य है, लेकिन मेरे द्वारा लिखे गए अधिकांश सामानों का पूर्ण संस्करण 1.0.0 नहीं है। मैं तब फीचर जोड़ता हूं और 1.6.0 के आसपास कहीं एक सभ्य संस्करण में पहुंचता हूं। कई परियोजनाएं संस्करण 0.1.0 से शुरू होती हैं, जो मेरे 1.0.0 के रूप में उपयोग करने योग्य होगी।

आप क्या करने का सुझाव देंगे? 1.0.0 या 0.1.0 से शुरू करें?

अंतिम संख्या बगफिक्स रिलीज के लिए ही है। आप मेरे 1.0.0 को 1.0 और 0.1.0 को 0.1 समझ सकते हैं जो आपके लिए आसान है।


1
मुझे बस "सिमेंटिक वर्जनिंग" ( semver.org ) के बारे में पता चला , जो मैं करना चाहता हूं। हालाँकि, मैं एपीआई नहीं बना रहा हूँ और यह एपीआई के बारे में बात कर रहा है, इसलिए 1.0.0 सलाह वास्तव में लागू नहीं होती है।
नूरथ


जवाबों:


-24

मेरा संस्करण सेटअप द्वारा संचालित है। मैं चाहता हूं कि इसे पुराने संस्करणों को बदल दिया जाए, इसलिए मैं इसे चुटकियों में बढ़ाता रहता हूं जो मेरे लिए मायने रखते हैं।

कभी-कभी, हालांकि, संस्करणकरण ग्राहक द्वारा संचालित होता है, खासकर यदि आप जनता के लिए कोड जारी कर रहे हैं।

यदि यह आपकी कॉल है, तो आपके लिए सबसे अच्छा काम करता है। मैं 1.0 के पहले संस्करणों के साथ कुछ मुद्दों था, तो मैं उस के साथ शुरू करते हैं।


1
आप वास्तव में अपने उत्तर में कुछ भी नहीं समझाते हैं। आपने उल्लेख नहीं किया है कि आपके पास किस तरह के मुद्दे हैं, इसलिए हम उस पर चर्चा कर सकते हैं। आप यह नहीं समझाते हैं कि संस्करण कब और क्यों ग्राहक द्वारा संचालित किए जाते हैं, जो कि ओपी रास्ते का मामला नहीं है। और आप यह नहीं समझाते कि सेटअप द्वारा कैसे और क्यों संस्करण चलाया जा रहा है। तुम भी क्या मतलब है, एक तरह से है कि जवाब के लिए मायने रखती है? एक अच्छी तरह से परिभाषित जवाब में प्रत्येक निर्णय के विपक्ष और पेशेवरों को शामिल करना चाहिए, आपने केवल अस्पष्ट तर्क शामिल किए हैं :)।
एक्काप्सी

224

सिमेंटिक संस्करण 2.0.0 मानक का कहना है:

सबसे आसान काम 0.1.0 पर अपनी प्रारंभिक विकास रिलीज़ शुरू करना और उसके बाद प्रत्येक रिलीज़ के लिए मामूली संस्करण में वृद्धि करना है।

यह 0.3.0 से सीधे 1.0.0 तक जाने के लिए ठीक है। यह 0.23.0 पर होना भी पूरी तरह से ठीक है। 0.4.0 पर शुरू करना कुछ हद तक अस्वीकार्य है क्योंकि यह बताता है कि पिछले प्रकाशित संस्करण हो चुके हैं।

इसके अतिरिक्त, ध्यान दें कि 0.y.zत्वरित पुनरावृत्ति के लिए अलग रखा गया है, ताकि प्रारंभिक विकास (और इसलिए बहुत सारे ब्रेकिंग परिवर्तन) आपको 142.6.0 की तरह कुछ मूर्खतापूर्ण नहीं छोड़ते हैं। प्रमुख संस्करण को टक्कर देने के बजाय, जब तक आप रिलीज़ नहीं करते, तब तक हर ब्रेकिंग परिवर्तन पर मामूली संस्करण को टक्कर दें:

प्रारंभिक विकास के लिए प्रमुख संस्करण शून्य (0.yz) है। किसी भी समय कुछ भी बदल सकता है। सार्वजनिक एपीआई को स्थिर नहीं माना जाना चाहिए।


यह स्वीकृत उत्तर होना चाहिए। 16 उत्तर के साथ कभी भी उत्तरोत्तर देखा गया उत्तर के रूप में नहीं देखा गया
नादेर घनबरी

यदि आप npm का उपयोग कर रहे हैं तो एक नुकसान है। यदि आप 0 से शुरू करते हैं, तो पैकेज में कैरेट साइन "^" होगा। जसन अलग व्यवहार करेगा। docs.npmjs.com/misc/semver#caret-ranges-123-025-004 आप ^ 0 के बजाय 0.x का उपयोग कर सकते हैं। पैकेज json में इस परिदृश्य के लिए। इसलिए, 1.x शुरू करना और उपयोग करना थोड़ा आसान है।
सैम

9

संस्करण संख्या पूरी तरह से आप पर निर्भर है। वह करें जो आपके लिए मायने रखता है और लगातार हो। कोई नहीं कहता है कि आपको 0 या 0.0 या 1.0 या 1.1 से शुरू करना है।

महान प्रोग्रामर ने वास्तव में स्थानीय मजाक के रूप में संस्करण संख्या प्रणाली का उपयोग किया है। उदाहरण (विकिपीडिया):

संस्करण 3 के बाद से, TeX ने एक idiosyncratic संस्करण नंबरिंग सिस्टम का उपयोग किया है, जहां दशमलव के अंत में एक अतिरिक्त अंक जोड़कर अपडेट का संकेत दिया गया है, ताकि संस्करण संख्या स्पर्शोन्मुख रूप से X तक पहुंच जाए। यह इस तथ्य का प्रतिबिंब है कि TeX अब बहुत स्थिर है, और केवल मामूली अपडेट अनुमानित हैं। TeX का वर्तमान संस्करण 3.1415926 है; इसे आखिरी बार मार्च 2008 में अपडेट किया गया था

METAFONT के लिए:

मेटाफ़ॉन्ट में टीएक्स के समान एक संस्करण प्रणाली है, जहां संख्या प्रत्येक संशोधन के साथ असमान रूप से ई के पास पहुंचती है।

अंत में, एक संस्करण संख्या नहीं, लेकिन समान रूप से दिलचस्प है, यह है कि Google की प्रारंभिक सार्वजनिक पेशकश (IPO) $ 2,718,281,828 (नोटिस कि ई ~ 2.718 281 828) को बढ़ाने के लिए SEC के साथ दायर की गई थी।

मेरा कहना है: यह मत समझो कि तुम्हें भीड़ का अनुसरण करने की आवश्यकता है। रचनात्मक और सुसंगत रहें।


6

मुझे लगता है कि विभिन्न कारक यहां खेलने में आते हैं। संस्करण संख्या के मनोवैज्ञानिक / विपणन प्रभाव (संस्करण संख्या में अक्सर वृद्धि हुई => अधिक $ $ $), लोग 0.99 बीटा संस्करण आदि नहीं खरीदना चाहते हैं) को ध्यान में रखा जाना चाहिए। "तर्क" संस्करण संख्या एक विशाल टीम में काम करते समय मदद कर सकती है।

और मुझे अस्थिर संस्करणों के लिए विषम संख्याएँ, और यहां तक ​​कि स्थिर संख्या के लिए लाइनक्स तरीका पसंद है।


1

जब मैं अपना पहला प्रयोग करने योग्य तैयार हो जाता हूं, लेकिन पूर्ण संस्करण उपलब्ध नहीं होता, तो मैं सामान्य रूप से यह आंकने की कोशिश करता हूं कि यह फीचर पूर्ण संस्करण की ओर कितना दूर है, इसलिए उदाहरण के लिए यदि मेरा पहला प्रयोग करने योग्य 33% पूर्ण है तो मैं संस्करण संख्या 0.3.0 या बनाता हूं समान। फिर जैसे-जैसे मैं फीचर को पूरा करता हूं, वैसे-वैसे वर्जन को भी इसी तरह से नंबर मिलते जाते हैं।

लेकिन एक बार जब आप पिछले फीचर को पूरा कर लेते हैं, तो पूर्ण संस्करण बदलने की जरूरत होती है


3
इसका मतलब है कि आप केवल 0.9.0 तक ही जा सकते हैं, लेकिन मुझे बहुत सारी परियोजनाएँ पता हैं जो 0.25.0 की तरह चलती हैं।
नूरथ

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

1

npmपैकेज के लिए संस्करण संख्याएँ चुनते समय , ध्यान रखें कि package.json वीर्य श्रेणियों में सूचीबद्ध निर्भरताएँ v1.0.0 से नीचे काम नहीं करेंगी। अर्थात्,

"dependencies": {
    "my-package": "^0.5"
}

के बराबर है

"dependencies": {
    "my-package": "0.5"
}

यदि आप सेमर श्रेणी का उपयोग करने में सक्षम होना चाहते हैं, या आप अन्य लोगों को उनका उपयोग करने देना चाहते हैं, तो आप 1.0.0 से शुरू करना चाहते हैं


दिलचस्प। क्या आपके पास इस बारे में अधिक जानकारी है कि (या कहाँ) सेमर श्रेणी में नीचे काम नहीं किया जाता है। चूंकि npm रजिस्ट्री0.0.x में उपयोग करने वाले कुछ पैकेज हैं ।
रेमी

मुझे नहीं पता कि npm के लोगों ने यह निर्णय क्यों लिया, या जहाँ npm प्रणाली में यह बनाया है / क्या कम से कम संस्करणों के लिए समर्थन करने के लिए बदलने की आवश्यकता होगी संस्करणों के लिए 1. मैं भी जानना चाहूंगा!
हेनरी

3
उन्होंने यह निर्णय लिया क्योंकि ^"संस्करण के साथ संगत" का अर्थ है । अधिक जानकारी यहाँ । Semver में, 0.y.zमें प्रारंभिक विकास और किसी भी परिवर्तन के लिए है yया zपीछे की ओर असंगत हो सकता है। आपके उदाहरण में ^0.5 := 0.5 := 0.5.x, इसलिए यह एक सीमा है। अगर कैरेट रेंज आपके लिए काम नहीं करती है, तो आप कैरेट रेंज के 0.y.zअलावा, तुलनित्र, हाइपेन, एक्स और टिल्ड रेंज का उपयोग कर सकते हैं।
डॉसेंटरमैटर

0

आमतौर पर, वर्जनिंग का प्रोग्रामर से कुछ मतलब होता है। बड़ी संख्या में वृद्धि बड़े परिवर्तन का संकेत दे सकती है जो पश्च-संगतता को रोकती है। संस्करण संख्या में अन्य संख्याएं छोटे फीचर एन्हांसमेंट या बग फिक्स को इंगित कर सकती हैं।

यदि आप चिंतित हैं तो संस्करण ०.६.५ में एक अधूरी रिंग है, आप इसे संस्करण १.० के तहत बाजार में लाना चाहते हैं। आपके मार्केटिंग संस्करण संख्या को आपके आंतरिक संस्करण संख्या से मेल खाने की आवश्यकता नहीं है। उदाहरण के लिए, विंडोज 7 का संस्करण संख्या 6.1 है।

मेरी व्यक्तिगत प्राथमिकता 0.1.0 से शुरू करना और वहां से जाना है।


0

परियोजना पर निर्भर करता है। सरल कमांड लाइन टूल के लिए, मैं आमतौर पर 0.9 [.0] के आसपास शुरू करता हूं क्योंकि मैं केवल रिहा करने या उन्हें पैक करने पर विचार करता हूं जब वे पूरा होने के करीब होते हैं (या वैसे भी बीटा परीक्षण के लिए तैयार होते हैं।) अधिक जटिल परियोजनाएं लगभग 0.1 [.0] से शुरू होती हैं। कुछ भी कभी नहीं 1.0 देखें। मैं 1.0 को एक रिलीज़ संस्करण (या कम से कम स्थानीय रूप से परीक्षण किया गया बीटा या रिलीज़ उम्मीदवार) मानता हूं और तदनुसार योजना बनाता हूं।

टीम परियोजनाओं के साथ, जो कोई भी पहले संस्करण का टैग लगाता है, उसे निर्णय लेना पड़ता है :)।


0

0.1.0 वही है जो मैं शुरू करता हूं और वहां से आगे बढ़ता हूं। यह वह है जिसे मैंने एड्रियन द्वारा एक्सप्लायटेशन के लिए अनुकूलित किया है, हालांकि मेरे शुरुआती वर्षों में मैं बहुत छिटपुट था और इसका इस्तेमाल 1.0.0, 0.0.1, और कुछ अन्य लोगों द्वारा किया गया था। लेकिन मैं 0.1.0 से शुरू करने और वहां से जाने की सलाह देता हूं।

प्रति सेमेस्टर, ए और सी में ए के लिए आरक्षित करें। आप पहले आधिकारिक रिलीज और सी। बग फिक्स और पैच। ऐसा इसलिए है क्योंकि एक प्रमुख संस्करण आम तौर पर पुराने कोड को तोड़ता है। और पैच केवल बग को ठीक करते हैं। यह सभी व्यक्तिगत पसंद है, 0.99.0 का मतलब यह नहीं है कि आपको 1.0.0 पर जाना है, आदि। मैंने कुछ देखा है जो सभी 0.218.42 पर जाते हैं।


-1

संस्करण संख्या आपके लिए अर्रीता के रूप में अर्थ होनी चाहिए ने पहले ठीक से टिप्पणी की थी।

हो सकता है कि कुछ इस तरह हो: पहला # मेयर रिलीज है, दूसरा # कुछ सुविधाओं के साथ एक ही मेयर रिलीज है और तीसरा # एक ही मेयर रिलीज है, एक ही सुविधाओं के साथ लेकिन फिक्स्ड बग के साथ या थोड़ा (लेकिन काफी महत्वपूर्ण) परिवर्तन जोड़ा गया है।

1.3.2 => 1 रिलीज़, जिसमें अधिक सुविधाएँ और कुछ बग फिक्स हैं।

हालांकि, अंतिम उपयोगकर्ताओं के लिए, कुछ का उपयोग अंतिम रिलीज के लिए बड़ी संख्या में किया जाता है।

उदाहरण के लिए: Corel 8, 8.0.0, 8.0.1, 8.2.2, आदि के लिए Corel 9, 9.0.0 के लिए ... आदि।

और ज्यादातर मार्केटिंग रणनीतियों के बारे में अधिक है जैसे: Corel X5 उदाहरण के लिए Corel 15.0.2 के बजाय।

मैं कहूंगा कि यह निर्भर करता है कि संस्करण संख्या आपके लिए है या क्लाइंट के लिए।


-4

0.0.0 से शुरू करें और वहां से आगे बढ़ें।


4
क्या इसका मतलब है कि आप वास्तव में 0.0.0 रिलीज करेंगे? मैं पहले नंबर से शुरू कर रहा हूं जिसे मैं रिलीज करने जा रहा हूं।
नूरथ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.