हम सॉफ्टवेयर घटकों के लिए संस्करण क्रमांकन करने के लिए एक अच्छा तरीका तय करने की कोशिश कर रहे हैं, जो एक दूसरे पर निर्भर हैं।
आइए और अधिक विशिष्ट बनें:
सॉफ्टवेयर घटक ए एक एम्बेडेड डिवाइस पर चलने वाला फर्मवेयर है और घटक बी एक सामान्य पीसी (लिनक्स / विंडोज मशीन) के लिए संबंधित ड्राइवर है। वे कस्टम प्रोटोकॉल का उपयोग करके एक दूसरे के साथ संवाद कर रहे हैं। चूंकि, हमारा उत्पाद डेवलपर्स पर भी लक्षित है, हम दोनों घटकों के स्थिर (अस्थिर) (प्रयोगात्मक) संस्करणों की पेशकश करेंगे (फर्मवेयर बंद-स्रोत है, जबकि ड्राइवर ओपन-सोर्स है)। हमारी सबसे बड़ी कठिनाई यह है कि संचार प्रोटोकॉल में एपीआई परिवर्तनों को कैसे प्रबंधित किया जाए।
जब हम ड्राइवर में संगतता जाँच लागू कर रहे थे - यह जाँचता है कि फर्मवेयर संस्करण चालक के संस्करण के अनुकूल है या नहीं - हमने संस्करण संख्या के कई तरीकों पर चर्चा करना शुरू कर दिया है।
हम एक समाधान के साथ आए, लेकिन हमें यह भी लगा कि पहिया को फिर से मजबूत किया जाए। यही कारण है कि मैं प्रोग्रामर / सॉफ्टवेयर डेवलपर समुदाय से कुछ प्रतिक्रिया प्राप्त करना चाहता हूं, क्योंकि हमें लगता है कि यह एक सामान्य समस्या है।
तो यहाँ हमारा समाधान है:
हम व्यापक रूप से उपयोग किए जाने वाले प्रमुख.मिनोर.पैप वर्जन नंबरिंग का पालन करने और यहां तक कि स्थिर / अप्राप्य संस्करणों के लिए विषम विषम संख्याओं का उपयोग करने की योजना बनाते हैं । अगर हम एपीआई में बदलाव करते हैं, तो हम मामूली संख्या में वृद्धि करेंगे।
इस सम्मेलन से निम्न उदाहरण की स्थिति पैदा होगी:
वर्तमान स्थिर शाखा 1.2.1 है और अस्थिर 1.3.7 है। अब, अस्थिर के लिए एक नया पैच एपीआई को बदल देता है, जिसके कारण नया अस्थिर संस्करण संख्या 1.5.0 हो जाएगी। एक बार, अस्थिर शाखा को स्थिर माना जाता है, चलो 1.5.3 में कहते हैं, हम इसे 1.4.0 के रूप में जारी करेंगे।
मुझे नीचे दिए गए संबंधित प्रश्नों में से किसी एक के उत्तर में खुशी होगी:
- क्या आप ऊपर वर्णित मुद्दों को संभालने के लिए एक सर्वोत्तम अभ्यास सुझा सकते हैं?
- क्या आपको लगता है कि हमारा "कस्टम" सम्मेलन अच्छा है?
- आप वर्णित सम्मेलन में क्या परिवर्तन लागू करेंगे?