क्या जोड़ी प्रोग्रामिंग चरम प्रोग्रामिंग (XP) प्रोजेक्ट में कोड समीक्षाओं की आवश्यकता को हटा देती है?


14

एक चरम प्रोग्रामिंग परियोजना में, प्रोग्रामर ज्यादातर समय प्रोग्रामिंग करते हैं।

जैसा कि ये जोड़े भी घूमते हैं, अर्थात, आप विभिन्न लोगों के साथ कार्यक्रम जोड़ते हैं, और सामूहिक स्वामित्व की भावना है, स्रोत कोड की अक्सर समीक्षा और अद्यतन किया जा रहा है।

ऐसा होने के नाते, क्या कोड की समीक्षा की आवश्यकता है? मेरा मतलब है, प्रोग्रामिंग बंद करो और वास्तव में सिर्फ कोड समीक्षा करें।


3
जोड़ी प्रोग्रामिंग XP का केवल एक किरायेदार है। कई अन्य चुस्त तरीके हैं जो XP का पालन नहीं करते हैं। एजाइल सॉफ्टवेयर डेवलपमेंट के लिए मेनिफेस्टो में कुछ भी नहीं है और न ही एजाइल मेनिफेस्टो के पीछे सिद्धांतों में जोड़ी प्रोग्रामिंग का उल्लेख है। कोड समीक्षाओं के बारे में भी कुछ नहीं है। यह महत्वपूर्ण नहीं है कि सभी चुस्त चरम हैं।

मुझे केवल XP तब शामिल करने के लिए अपने प्रश्न को फिर से बताने दें।
एडुआर्डो कोपाट

क्या कोई कारण है कि आप इसे करने की कोशिश नहीं करेंगे और सुनिश्चित करेंगे कि आपने कुछ मानदंड निर्धारित किए हैं? यदि टीम चेक-इन कोड प्राप्त करने में सहज है, तो यह एक अच्छा पर्याप्त कारण होना चाहिए।
21

जवाबों:


13

एक्सट्रीम प्रोग्रामिंग के लिए प्रमुख संसाधनों में से एक वार्ड के विकी उर्फ ​​पोर्टलैंड पैटर्न रिपोजिटरी उर्फ C2.com है । यह वह जगह है जहां कई लोगों ने विभिन्न कार्यप्रणाली को निकाल दिया है और उनका उपयोग करते हुए उन्हें दस्तावेज बनाया है।

इस विकी के भीतर, एक पेज है: एक्सट्रीम प्रोग्रामिंग कोड समीक्षाएं जिसमें रॉन जेफ्रीज़ और केंट बेक सहित कई योगदानकर्ता हैं।

इस के लिए, उन्होंने कहा:

कई बड़े-प्रोसेस गुरुओं द्वारा कोड समीक्षाओं को महत्वपूर्ण माना जाता है। उनका इरादा मानकों के अनुरूप होना सुनिश्चित करना है, और इससे भी महत्वपूर्ण बात, यह सुनिश्चित करना है कि कोड स्पष्ट, कुशल, काम करता है, और QWAN है। उन्होंने बाकी टीम को कोड के बारे में ज्ञान का प्रसार करने में मदद करने का भी इरादा किया।

एक्सट्रीमप्रोग्रामिंग के लिए आवश्यक है कि सारा विकास दो इंजीनियरों के एक साथ काम करने से हो। कोड वास्तव में मक्खी पर समीक्षा की जाती है, काफी हद तक। यह सुनिश्चित करता है कि एक से अधिक लोगों को हर समय कोड का गहन ज्ञान हो।

एक्सट्रीमप्रोग्रामिंग के लिए आवश्यक है कि सभी ऑब्जेक्ट्स में UnitTests हो। ये सुनिश्चित करते हैं कि ऑब्जेक्ट काम करता है, और संशोधित रूप में काम करना जारी रखता है।

कुछ भाषाएं चिंतनशील हैं। ऐसी भाषाओं में, UnitTests महत्वपूर्ण मानकों के अनुरूपता के लिए सीधे जाँच कर सकता है। (उदाहरण के लिए वस्तुओं को # = और # राशि दोनों को लागू करना चाहिए, और न ही।)

एक्सट्रीमप्रोग्रामिंग कलेक्टेकोडकोडऑवरशिप, जिसका अर्थ है कि कई डेवलपर्स द्वारा ध्यान आकर्षित करने वाली वस्तुओं की आवश्यकता होगी। यह उन उत्पादन कोड पर सहन करने के लिए दबाव लाता है जो मानकों के अनुरूप नहीं हैं। जब वे विचलन पाते हैं तो विजिटिंग डेवलपर्स को कोड को अनुरूपता में लाने के लिए प्रोत्साहित किया जाता है। इससे यह भी सुनिश्चित होता है कि प्रोग्रामर की शुरुआती जोड़ी से परे कोड का ज्ञान प्रसारित किया जाता है।

इसलिए, एक्सट्रीमप्रोग्रामिंग प्रोजेक्ट्स को स्पष्ट समीक्षा की आवश्यकता नहीं होती है। उन्हें अपनी कार्यप्रणाली से गिरा दें।

दूसरों से वहाँ के विषय पर भी थोड़ी बहुत चर्चा है।

हालांकि प्रमुख बिंदु यह है कि परीक्षण, सहयोगी स्वामित्व और जोड़ी प्रोग्रामिंग के संयोजन के साथ ये चीजें उन लक्ष्यों को हल करती हैं जो कोड समीक्षा आमतौर पर करने वाली हैं जैसे:

  • जो किया जा रहा है उसके ज्ञान को फैलाओ
  • यह सुनिश्चित करने के लिए कि यह मानकों का पालन कर रहा है, कोड पर नेत्रगोलक का एक दूसरा (या अधिक) सेट है
  • कोड की सही कार्यप्रणाली की जाँच करें

एक्सट्रीम प्रोग्रामिंग में जोड़ी प्रोग्रामिंग और स्वचालित परीक्षण के माध्यम से लगातार किया जा रहा है और इस प्रकार एक स्पष्ट फगन निरीक्षण अनावश्यक है।

संबंधित पढ़ना:


4
मैंने एक और q और तर्क दिया कि एक कोड समीक्षा एक अनावश्यक अपशिष्ट (शब्द के लीन अर्थ में) है और यह जोड़ी प्रोग्रामिंग उन सभी लाभों को प्रदान करने का पसंदीदा तरीका होना चाहिए जो एक कोड समीक्षा प्रदान करेगा। कहने की जरूरत नहीं है, लोगों ने मेरे तर्क को अपराध मान लिया क्योंकि मैंने आपके जैसे VOICE OF AUTHORITY (TM) के साथ इसका समर्थन नहीं किया था। ऐसे लोगों के समूह के लिए जो दिन-प्रतिदिन लॉजिक से निपटते हैं, हम एक अतार्किक गुच्छा हैं।
माइकल ब्राउन

6
अतिरिक्त कोड समीक्षाओं के बिना जोड़ी प्रोग्रामिंग करने का जोखिम यह है कि दोनों प्रोग्रामर लिखने के क्षण में भारी रूप से शामिल हैं और वे उस कोड को लिख सकते हैं जो उस समय पूरी तरह से स्पष्ट और तार्किक लगता है, लेकिन कुछ दिनों के बाद फिर से दिखाई देने पर कम होता है। कितना बड़ा और / या स्वीकार्य है कि जोखिम आपके संगठन पर निर्भर करता है।
बार्ट वैन इनगेन शानौ

@ माइकबर्न आप समान रूप से तर्क दे सकते हैं कि पेयर प्रोग्रामिंग एक अनावश्यक बेकार है और उस कोड की समीक्षा आदि होनी चाहिए
एलेक्सफॉक्सगिल

देखें कि मुझे WASTE से क्या मतलब था "लीन" शब्द की परिभाषा। ठेठ असेंबली लाइन प्रक्रिया के बारे में सोचो। विचार यह है कि कार को जल्द से जल्द लाइन में लाया जाए और तथ्य (कोड समीक्षा) के बाद गुणवत्ता की जांच की जाए। लीन सिद्धांत एस्पोज़ को (जोड़ी प्रोग्रामिंग) में गुणवत्ता का निर्माण करने के लिए थोड़ा और समय और प्रयास करना पड़ता है ताकि पोस्ट चेक अनावश्यक हो जाए।
माइकल ब्राउन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.