इसका उत्तर सरल है।
संगति का सर्वाधिक महत्व है।
लेकिन यह एक चेतावनी के साथ आता है ...
आप और आप सहकर्मी के बीच गलत तरह की संगति की संभावना है
कार्यान्वयन डिस्पोजेबल हैं। टेस्ट सूट की गुणवत्ता और व्यापकता के आधार पर उन्हें आसानी से अलग-अलग डिग्री के साथ ओवरहाल किया जा सकता है। "क्या यह एक संपत्ति होनी चाहिए?" जैसी चीजों के बारे में चिंता करते हुए, "क्या निचले स्तर के निर्माण के बजाय thins कोड को LINQ का उपयोग नहीं करना चाहिए?" संदिग्ध मूल्य का है। कार्यान्वयन के स्तर पर स्थिरता के मूल्य के लिए किसी भी माप को टाई करने के लिए इसकी भिन्नता है। इस स्तर पर पूछने के लिए एक बेहतर सवाल है "क्या यह कोड विज्ञापन के रूप में काम करता है?"। टीएल; डीआर कार्यान्वयन स्थिरता वह है जहां "छोटे दिमाग" को अपनी हॉबोब्लिन मिलती है।
यहाँ संगति महत्वपूर्ण क्यों नहीं है? कार्यान्वयन में आमतौर पर योगदानकर्ताओं की एक छोटी संख्या होती है। अधिकांश विधियाँ लिखी जाती हैं और फिर कभी नहीं छुआ जाता है। शेष कोड की विधियों की संख्या जिसमें दो योगदानकर्ता लगभग निश्चित रूप से बहुमत हैं। यह पैटर्न एड इनफिनिटम जारी रखता है । इस संदर्भ में सामंजस्य केवल इतना महत्वपूर्ण नहीं है। यदि कोड का शेल्फ जीवन बहुत छोटा है ( कुछ साल ) आक्रामक स्थिरता से लाभ एक गैर-कारक है।
यह कहना नहीं है कि आपको अपने कार्यान्वयन में पागल हो जाना चाहिए। बल्कि यह कहने के लिए कि एक अच्छा, स्वच्छ, सरल डिजाइन आपके काल्पनिक भविष्य के अनुचर की तुलना में मूर्खतापूर्ण बायलर प्लेट स्थिरता विधि की तुलना में अधिक मूल्यवान है। यह हमें वास्तविक बिंदु पर ले जाता है ...
एपीआई डिस्पोजेबल नहीं हैं।
यह सभी API कोड स्तर, वेब सेवाएँ, SDKs आदि हैं। ये, MUST, सुसंगत होना चाहिए। इस विभिन्नता से उत्पादकता लाभ कई कारणों से बहुत अधिक हैं:
एकीकरण टेस्ट:
यदि आप अपने एपीआई के अनुरूप रहते हैं तो आप एकीकरण परीक्षणों के सूट बना सकते हैं। ये डेवलपर्स को कार्यान्वयन विवरणों को स्वतंत्र रूप से स्वैप करने और तत्काल सत्यापन प्राप्त करने की अनुमति देते हैं। LINQ पर अपने को-वर्क्स क्रैप को स्वैप करना चाहते हैं? क्या एकीकरण परीक्षण चलते हैं? यह उत्पादन में जाने की तैयारी करते समय सत्यापन भी प्रदान करता है। क्योंकि कंप्यूटर तेज हैं एक लैपटॉप एक हजार परीक्षकों के काम को रोक सकता है जो सांसारिक कार्यों को अंजाम दे रहा है। अपने संगठन के हेडकाउंट को बढ़ाने के लिए इसका टेंटमाउंट काफी है।
उत्पादकता
जब एपीआई संगत होते हैं, तो आप एपीआई के अन्य भागों का उपयोग करने के बारे में जो कुछ भी सीखते हैं, उसका अनुसरण करके आप केवल एक एपीआई का उपयोग कैसे करें, इसके बारे में अनुमान लगा सकते हैं। ऐसा इसलिए है क्योंकि एपीआई एक प्राकृतिक, सुसंगत "लुक एंड फील" की पुष्टि करता है। इसका मतलब है कि आपके ग्राहक का समय दस्तावेज के माध्यम से कम समय व्यतीत होता है। जहाज पर चढ़ना आसान और सस्ता है। एपीआई को विकसित करने वाले लोगों से कम प्रश्न पूछे जाते हैं। संगति सभी को विजेता बनाती है
इस परिदृश्य में संगति क्यों महत्वपूर्ण है? क्योंकि API को कार्यान्वयन की सटीक विपरीत समस्या है। उनके उपयोग करने वाले लोगों की संख्या आम तौर पर उनके कार्यान्वयन में योगदान करने वाले लोगों की संख्या से बहुत अधिक है। थोड़ी सी स्थिरता से छोटे लाभ कई गुना हो जाते हैं और निरंतरता बनाए रखने की लागत बढ़ जाती है।
निष्कर्ष
संगति महंगी है। अपने चेहरे पर यह उत्पादकता को कम करता है। यह डेवलपर्स को विवश करता है और उनके जीवन को कठिन बनाता है। यह उन तरीकों पर सीमाएं लगाता है जो वे एक समस्या को हल कर सकते हैं कभी-कभी उन्हें गैर-इष्टतम तरीके से हल करने के लिए मजबूर करते हैं। यह अक्सर उन कारणों के लिए होता है जो उन्हें समझ में नहीं आते हैं, गलत कल्पना की जाती है, या वे (अनुबंध, बड़े संगठनात्मक या अंतर-संगठनात्मक नीतियों) के लिए निजी नहीं हैं।
रेमंड हेटिंगर ने पायथन प्रोग्रामर्स की टीमों के लिए PEP8 स्टाइल गाइड का उपयोग करने के बारे में अपनी Pycon 2015 की चर्चा में कुछ उत्कृष्ट बिंदु बनाए। उन्होंने दिखाया कि कोड के एक टुकड़े पर शैलीगत स्थिरता पर जुनून ने कोड समीक्षकों को गंभीर तर्क और डिजाइन की खामियों को याद किया। उनकी परिकल्पना को संक्षेप में प्रस्तुत किया जा सकता है क्योंकि शैलीगत विसंगतियों का पता लगाना आसान है; कोड के एक टुकड़े की वास्तविक गुणवत्ता का निर्धारण करना कठिन है
यहां बात महत्वपूर्ण है। यह पहचानें कि कहां संगति महत्वपूर्ण है और इसे आक्रामक तरीके से सुरक्षित रखें। जहां इसका महत्वपूर्ण नहीं अपना समय बर्बाद मत करो। यदि आप निरंतरता के मूल्य (उपरोक्त मामलों में "प्रभावी हेडकाउंट", उत्पादकता के कार्य के रूप में लागत) को मापने के लिए एक वस्तुनिष्ठ तरीका प्रदान नहीं कर सकते हैं और आप रिटर्न का प्रदर्शन नहीं कर सकते हैं तो आपके संभावित रूप से एक असंतोष कर रहे हैं आपकी संगठन।