किसी एकल डेवलपर के लिए चरम प्रोग्रामिंग [बंद]


10

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

  • लगातार मेल जोल
  • कभी भी फंक्शनलिटी ऐड न करें
  • परीक्षण संचालित विकास
  • एक सिस्टम रूपक चुनें
  • एकल एकीकरण बिंदु का उपयोग करें
  • सभी बगों का परीक्षण करें
  • लगातार रिफ्लेक्टर
  • एक स्थायी गति निर्धारित करें
  • सादगी
  • बार-बार जारी

मैं उत्सुक हूँ अगर मैं कुछ भी विशेष रूप से याद कर रहा हूँ जो एक एकल डेवलपर परियोजना के साथ काम करने के लिए अनुकूल हो सकता है?

इसके अलावा, इस प्रकाश में सादगी और परीक्षण संचालित विकास का विचार दिया गया है, क्या स्थापित, सुविधा संपन्न, तैयार किए गए प्लेटफार्मों का उपयोग करना बेहतर है?

या क्या मुझे जमीन से काम करना चाहिए, जब संभव हो, लगातार रिफैक्टिंग जैसे नियमों के साथ प्रस्तुत मुद्दों से भागने से बचने के लिए और कभी भी कार्यक्षमता को जल्दी से नहीं जोड़ना चाहिए?


5
Elsesite, c2.com पर (एक साइट जो फुर्तीली (और विशेष रूप से XP) अवधारणाओं की कुछ चर्चा के लिए जल्दी बनाई गई थी) - एक्सट्रीम प्रोग्रामिंग फॉर वन

यह एक अद्भुत संसाधन है, धन्यवाद। मुझे खासतौर पर एलेग्निफेक्स के XP प्लेज का विचार पसंद है।
कोड़ी मनर्थ

आप ध्यान से पढ़ें, तो आप जैसे नाम मिल जाएगा रॉन जेफ्रिस टिप्पणी और केंट बैक ... और अच्छी तरह से, यह है वार्ड विकी

तो यह प्रतिमान के रचनाकारों द्वारा लिखा गया है, यह शानदार है। पता नहीं कैसे मैं इसे अभी तक ठोकर नहीं खाई थी। मैं www.extremeprogramming.org
कोडी मंहरथ

2
आपके प्रश्न में एक भी गोली नहीं है जो सफल सॉफ्टवेयर विकास के लिए अनिवार्य है। असली सवाल यह है कि आपको वास्तव में किनकी जरूरत है?
रॉबर्ट हार्वे

जवाबों:


5

अंत में, चरम प्रोग्रामिंग प्रथाओं और कार्यप्रणाली के एक सेट के बारे में है जो व्यवसाय के बेहतर मूल्य की ओर ले जाता है। इसका सबसे अच्छा चित्रण जो मुझे मिला है, वह http://c2.com/cgi/wiki?ExtremeProgrammingEniablehart से है

चरम प्रोग्रामिंग सक्षम करना

नीले रंग में सब कुछ XP के कोर का हिस्सा है ।

इसके कुछ हिस्से ऐसे हैं जो इसके बाहरी हिस्से में हैं जो नीले क्षेत्र के भीतर चीजों को सक्षम करने में मदद करते हैं और एक पूरे के रूप में एक्सपी का हिस्सा हैं, लेकिन इसके लिए महत्वपूर्ण नहीं है। ध्यान दें कि मैं व्यक्तिगत रूप से एक एक्सपी व्यवसायी नहीं हूं और मैंने एक्सपी के बाद "लगभग" लोगों की आलोचना की उचित मात्रा में पढ़ा है कि विभिन्न लोग एक्सपी नहीं हैं। आओ हम XP के हठधर्मिता के उस पहलू को थोड़ा अलग करते हैं और देखते हैं कि हमारे पास क्या है।

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

XP का मतलब कोई प्लानिंग नहीं है। इसमें कई बिंदु हैं जहाँ नियोजन इसका हिस्सा है - प्राथमिकताकरण, उपयोगकर्ता कहानी अनुमान, पुनरावृत्ति नियोजन और कार्य परिभाषा। भले ही आप इस पर एक डेवलपर हैं, ये चीजें हैं जिन्हें आपको अपने ग्राहक के साथ काम करने की आवश्यकता होगी।

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

उन कैविट्स के अलावा, कई एक्सपी डिजाइन सिद्धांत अभी भी लागू होते हैं। टेस्ट फर्स्ट डिजाइन, निरंतर एकीकरण, ग्राहक के साथ मीटिंग, रिफैक्टिंग, YAGNI, स्पाइक सॉल्यूशन जैसी चीजें - उन कॉल को सोलो किया जा सकता है।

एहसास है कि एकल XP नियमित रूप से XP के रूप में अधिक या अधिक अनुशासन लेता है। XP को अक्सर एक उच्च अनुशासन पद्धति माना जाता है, जिसमें लोगों को सर्वोत्तम प्रथाओं के लिए कठोर पालन बनाए रखने की आवश्यकता होती है जो इसे मूर्त रूप देने की कोशिश करता है। जब आपके पास एक कोच या अन्य लोगों का समर्थन करने के लिए नहीं होता है, तो उस अनुशासन का समर्थन करने की आवश्यकता होती है, जो एक्सपी के लिए कुछ समानताएं सहन करने वाली प्रथाओं के एक हॉजपॉट में गिर सकती है।

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

मैं c2 लिंक के पहले से एक उद्धरण निकालना चाहूंगा:

प्रख्यात पर्ल लैंग्वेजरी और पागल वैज्ञानिक, डेमियन कॉनवे का मानना ​​है कि एक्सट्रीम प्रोग्रामिंग वास्तव में एक मिथ्या नाम है। चूँकि यह प्रोग्रामर को सिखाए जाने वाले कई अच्छे प्रोग्रामिंग अभ्यासों का प्रतीक है, लेकिन लगभग निश्चित रूप से अनदेखा करते हैं, उनका मानना ​​है कि इसे वास्तव में अल्ट्रा कंजर्वेटिव प्रोग्रामिंग कहा जाना चाहिए था


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