मैं बहुत सारे अनुभव के साथ एक अनुबंध प्रोग्रामर हूँ। मुझे क्लाइंट द्वारा किराए पर लेने के लिए इस्तेमाल किया जाता है और एक ही रूप में एक या दूसरे सॉफ्टवेयर की प्रोजेक्ट प्रोजेक्ट करता है, आमतौर पर कुछ भी नहीं। इसका मतलब है कि लगभग हर बार एक स्वच्छ स्लेट। मैं पुस्तकालयों में ला सकता हूं जिन्हें मैंने जल्दी शुरू करने के लिए विकसित किया है, लेकिन वे हमेशा वैकल्पिक होते हैं। (और अनुबंध में सही आईपी क्लॉज प्राप्त करने पर निर्भर करता है) कई बार मैं हार्डवेयर प्लेटफार्म निर्दिष्ट या डिजाइन भी कर सकता हूं ... इसलिए हम यहां गंभीर स्वतंत्रता की बात कर रहे हैं।कुछ कारण क्या हैं कि एकमात्र डेवलपर को टीडीडी का उपयोग क्यों करना चाहिए?
मैं कुछ कोड के लिए स्वचालित परीक्षणों के निर्माण के लिए उपयोग देख सकता हूं: छोटी कार्यक्षमता से अधिक पुस्तकालयों, संदर्भों की एक बड़ी संख्या के साथ मूल कार्यक्षमता, आदि। मूल रूप से, कोड के एक टुकड़े के मूल्य भारी उपयोग के माध्यम से बढ़ते हैं, मैं देख सकता हूं कि यह कोड स्वचालित रूप से परीक्षण करने के लिए अधिक से अधिक मूल्यवान होगा ताकि मुझे पता चले कि मैं इसे तोड़ नहीं सकता हूं।
हालांकि, मेरी स्थिति में, मुझे इससे कहीं अधिक तर्कसंगत बनाना मुश्किल लगता है। मैं चीजों को अपनाएगा क्योंकि वे उपयोगी साबित होते हैं, लेकिन मैं अंधेरे से कुछ भी पालन करने वाला नहीं हूं।
मुझे लगता है कि 'रखरखाव' में जो कुछ भी मैं करता हूं वह वास्तव में छोटे डिज़ाइन परिवर्तन होते हैं। इस मामले में, परीक्षणों ने मुझे कुछ भी बचाया नहीं होगा और अब उन्हें भी बदलना होगा। एक अत्यधिक पुनरावृत्ति, स्टब-प्रथम डिजाइन दृष्टिकोण मेरे लिए बहुत अच्छा काम करता है। मैं वास्तव में अधिक व्यापक परीक्षणों के साथ खुद को बचाने में नहीं देख सकता।
हॉबी परियोजनाओं को औचित्य देने के लिए और भी कठिन हैं ... वे आम तौर पर सप्ताहांत से कुछ भी कहते हैं। एज-केस कीड़े शायद ही कभी मायने रखती हैं, यह सब कुछ के साथ खेलने के बारे में है।
this one जैसे प्रश्नों को पढ़ना, प्रतिक्रिया पर सबसे अधिक वोट दिया गया है कि उस पोस्टर के अनुभव/राय में टीडीडी वास्तव में समय बर्बाद कर देता है यदि आपके पास 5 से कम लोग हैं (यहां तक कि टीडीडी के साथ क्षमता/अनुभव का एक निश्चित स्तर भी मानते हैं)। हालांकि, ऐसा लगता है कि प्रारंभिक विकास समय, रखरखाव नहीं है। यह स्पष्ट नहीं है कि कैसे एक परियोजना के पूरे जीवन चक्र पर टीडीडी ढेर करता है।
मुझे लगता है कि टीडीडी पूरी तरह से हमारे उद्योग के उत्पादों की गुणवत्ता में सुधार के सार्थक लक्ष्य में एक अच्छा कदम हो सकता है। हालांकि, अपने आप पर आदर्शवाद अब मुझे प्रेरित करने के लिए प्रभावी नहीं है।
I सोचें कि टीडीडी बड़ी टीमों, या कम से कम एक अविश्वसनीय प्रोग्रामर वाली किसी भी आकार की टीम में एक अच्छा दृष्टिकोण होगा। यह मेरा सवाल नहीं है।
एक अच्छा ट्रैक रिकॉर्ड वाला एकमात्र डेवलपर टीडीडी को अपनाने वाला क्यों होगा?
मुझे टीडीडी पर किए गए किसी भी प्रकार के मीट्रिक (औपचारिक रूप से या नहीं) के बारे में सुनना अच्छा लगेगा ... एकल डेवलपर्स या बहुत छोटी टीमों पर ध्यान केंद्रित करना।
यह विफल होने के कारण, आपके व्यक्तिगत अनुभवों के उपाख्यानों को भी अच्छा लगेगा। :)
कृपया इसे वापस करने के अनुभव के बिना राय बताएं। आइए इसे एक विचारधारा युद्ध न करें। इसके अलावा रोजगार विकल्प तर्क अधिक छोड़ दें। यह केवल एक दक्षता प्रश्न है।
टीडीडी का उपयोग करके आपका कोड अधिक टेस्टेबल और मॉड्यूलर बनाता है । मैंने पाया कि जब मैं टीडीडी में गया, तो मेरा कोड सामान्य रूप से बेहतर आर्किटेक्टेड बन गया क्योंकि मुझे इस बारे में सोचना पड़ा कि मैं कोड के टुकड़े का परीक्षण कैसे करूंगा, न कि यह हल करने के लिए आवश्यक कार्य को कैसे हल करेगा। – ctacke
मैं एक पागल आदमी की तरह रिफैक्टर करना चाहता हूं, और मेरे पास काफी बड़ी पुस्तकालय हैं ... इसलिए यह शायद मेरे लिए सबसे अच्छा कारण है। मैं कुछ पुस्तकालयों के लिए लेखन परीक्षणों के साथ प्रयोग करूँगा और देखें कि यह कैसा चल रहा है। – darron