क्या कोड जटिलता और डेवलपर उत्पादकता के बीच संबंध है?


10

क्या डेवलपर उत्पादकता के मामले में, लंबे समय में एक कोड आधार को रिफैक्ट करने में समय व्यतीत होता है?

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



1
अपने आप को एक गड़बड़ बनाए रखना शुरू करें और न्यायाधीश बनें।
ट्यूलेंस कोर्डोवा

जवाबों:


16

जाहिर है, उच्च जटिलता मेट्रिक्स वाले सॉफ्टवेयर, जैसे कि साइक्लोमैटिक जटिलता, को बनाए रखना कठिन होता है। है अनुसंधान 1970 के दशक ( "कार्यक्रम जटिलता और प्रोग्रामर उत्पादकता", एट चेन) को यह डेटिंग वापस समर्थन । ऐसा काम भी है जो यह बताता है कि जटिलता घनत्व, जो कि प्रणाली के आकार पर चक्रीय जटिलता है, रखरखाव समय ("साइक्लोमैटिक जटिलता घनत्व और सॉफ्टवेयर रखरखाव उत्पादकता", जीके गिल, सीएफ केमेर) से भी संबंधित है, जो यहां मुफ्त में भी उपलब्ध है । दुर्भाग्य से, चेन के पेपर के लिए एक IEEE सदस्यता आवश्यक है, लेकिन यदि आप रुचि रखते हैं, तो आप इसे अन्य स्रोतों पर देखने की कोशिश कर सकते हैं।

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

अंततः, हालांकि, नई कार्यक्षमता और अतिरिक्त मूल्य देने का दबाव है। आपको नई कार्यक्षमता के कार्यान्वयन और दोषों की मरम्मत के साथ रिफैक्टिंग को संतुलित करने की आवश्यकता है।


2
जोड़ने का एक और बिंदु यह है कि जब आप रिफ्लेक्टर करते हैं, तो आप बेहतर / अधिक कुशल / क्लीनर तरीके से सुविधाओं को लागू करने की संभावना रखते हैं। वहाँ एक कहावत है कि मैंने 5 साल में असंख्य बार सुना है कि आप यह सोचेंगे कि आपको लगा कि आपका कोड 'अच्छा' है
वॉरेन

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

0

मैं कुछ ठोस सबूतों के बाद हूं

फिर यहां अपना समय बर्बाद करना बंद करो।

  1. कुछ कोड खोजें जो बनाए रखने के लिए महंगा है। यह आसान है। अपने संगठन के मुसीबत टिकटों को देखें।

  2. कुछ कोड खोजें जो बनाए रखने के लिए सस्ता है। कोड खोजें जो अक्सर चलाया जाता है, लेकिन कुछ या कोई परेशानी टिकट नहीं है।

  3. किसी भी व्यापक रूप से उपलब्ध जटिलता उपकरण के साथ जटिलता को मापें।

  4. सबूत में बास।

आपने स्पष्ट की पुष्टि करने के लिए अब नंबर प्रदान किए हैं।


5
ज़रुरी नहीं। सॉफ्टवेयर द्वारा निष्पादित कार्य की जटिलता को चुने गए कार्यान्वयन के कारण जोड़े गए जटिलता से अलग होना चाहिए।
रीयरियरपोस्ट

4
-1 जवाब नहीं
डेव हिलियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.