क्या कोई ऐसा केस स्टडी है जो स्पष्ट रूप से दर्शाता है कि स्वच्छ कोड ने विकास में सुधार किया है? [बन्द है]


13

मैं प्रोग्रामर के रूप में अपनी पहली वास्तविक नौकरी में हूं और जो मैं देख रहा हूं वह सिर्फ "बिग बॉल ऑफ मड" कोड है (उपयोगी टिप्पणियों के बिना भी), लेकिन मुझे क्लीन कोड करना पसंद है, और मेरे लिए इससे भी बदतर कोड में वास्तव में कठिन है मार्ग।

मैं कुछ अध्ययन के मामले की खोज कर रहा हूँ जहाँ स्वच्छ कोड का उपयोग होता है (मुझे साफ कोड क्या है इसकी विभिन्न परिभाषाएँ यहाँ दिखाई देती हैं) ने विकास और स्थिरता को बेहतर बनाया।


1
किसी भी समय किसी को साफ कोड बनाम कीचड़ में एक बग को ट्रैक करना था
शाफ़्ट फ्रीक

@ratchetfreak: मुझे लगता है कि ओपी एक तर्क का उपयोग करने के लिए प्रकाशित अध्ययन खोजने की कोशिश कर रहा है कि क्यों उनके संगठन को अपने कोड को साफ करना चाहिए।
FrustratedWithFormsDesigner

1
@FrustratedWithFormsDesigner हाँ, लेकिन मैं "कंपनी के खिलाफ" तर्क का दिखावा नहीं करता। यह एक छोटे शहर में पुरानी तकनीक का उपयोग कर एक 16 साल पुरानी कंपनी है जिसमें कोई भी संगति नहीं है (कम से कम विभिन्न दिमाग के साथ)। यह सिर्फ एक जिज्ञासा का विषय है और "बुरे कोड" को आत्मसमर्पण नहीं करने के लिए प्रोत्साहन की आवश्यकता है।
रेनाटो दिनानी

यहाँ एक वर्तमान उदाहरण है: kdenlive.org/users/ttill/kdenlive-fundraising-campaign
user16764

याद रखें कि "क्लीन कोड" केवल एक चीज नहीं है जो सिस्टम को बनाए रखने योग्य बनाता है। इसलिए, इस तरह के एक अध्ययन, INMO, को करना मुश्किल होगा क्योंकि एक कारक को कई अन्य लोगों से अलग करना मुश्किल है जो परिणाम में योगदान करते हैं।
NoChance

जवाबों:


4

Google विद्वान की एक त्वरित (लेकिन किसी भी तरह से थकावट) खोज बहुत सारे लेखों को बदल देती है जो बॉब मार्टिन के क्लीन कोड का उल्लेख करते हैं , लेकिन मैंने व्यक्तिगत रूप से ऐसे किसी भी पेपर को नहीं देखा है जो "क्लीन कोड" और बेहतर विकास के बीच सहसंबंध को कवर करते हैं।

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

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

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

नहीं, मेरे पास आपको देने के लिए प्रत्यक्ष प्रमाण नहीं हैं, और ये केवल उन लोगों के विचार हैं जो बहुत लंबे समय से इस सामान को कर रहे हैं, और जो उम्मीद करते हैं कि रास्ते में थोड़ा सा सॉफ्टवेयर विकास ज्ञान अर्जित किया है। :-)


अच्छा जवाब, और हाँ, सवाल यह है कि आपने जो बताया है।
रेनाटो दिनानी

अच्छा सादृश्य, क्या वहाँ कोई अध्ययन है जो कहते हैं कि एक स्वच्छ कार्यस्थल या घर उत्पादकता में सुधार करता है?
बॉब

15

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


5

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

यह कहना नहीं है कि कोड की गुणवत्ता को अनदेखा किया जाना चाहिए, लेकिन, आपको यह स्वीकार करना चाहिए कि यह कई कारकों में से एक है।

बेहद सफल उत्पादों में बस भयानक कोड के कई उदाहरण हैं (उदाहरण के लिए मूल Apple ओएस जो अनुप्रयोगों के लिए अपने थ्रेड प्रबंधन को छोड़ देता है)।

मैं सुंदर कोड के किसी भी उदाहरण के बारे में सोच भी नहीं सकता कि एक बुरी तरह से कल्पना की गई या अतिप्राप्त उत्पाद है।

तो अगर बाजार के लिए इसका समय बनाम सुंदर कोड, बाजार का समय प्राथमिकता लेना चाहिए!


1
मैं आपसे पूरी तरह सहमत हूं, यही होता है। ग्राहक संतुष्ट है, प्रबंधन निदेशक संतुष्ट हैं, प्रोग्रामर, कोड के साथ जादू करने के लिए कड़ी मेहनत कर रहे हैं और कभी संतुष्ट नहीं हैं।
रेनो दिनानी

3

आपको वास्तविक लक्ष्यों से स्वच्छ कोड को अलग करना होगा: तैनाती के बाद दोषों को ठीक करने की लागत को कम करना और अनावश्यक पुनरावृत्ति को कम करना। जब आप "कम कोड बनाने के लिए स्वच्छ कोड लिखने के बारे में बात करते हैं", तो आप धर्म की बात कर रहे हैं। जब आप "परियोजना पर प्रयास के 2-महीने की बचत के 10% तक दोष दर को कम करने" के बारे में बात कर रहे हैं, तो आप प्रबंधन से बात कर रहे हैं। स्वच्छ कोड कोडबेस की प्रारंभिक गुणवत्ता में सुधार करने और इस तरह कुल लागत को कम करने का एक उपकरण है, लेकिन यह कई में से एक है।

निम्न पत्र बताता है कि लागत के नजरिए से यह पहली बार सही क्यों हो रहा है: http://www.cs.umd.edu/~mvz/pub/eworkshop02.pdf


1

मैं किसी भी विशिष्ट अध्ययन से अनजान हूं, लेकिन स्टीव मैककोनेल द्वारा काम की जांच करें ।

अगर किसी के पास है तो वह करेगा। उदाहरण के लिए दो मिनट के स्कैन में यह पाया गया (16 साल पुराना, लेकिन आज भी प्रासंगिक है)।


1

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

एक उदाहरण के रूप में (पुस्तक से):

एक अलग 450 दिनचर्या (जो कि सिर्फ एक असामान्य संयोग है) के एक अन्य अध्ययन में पाया गया कि उच्चतम युग्मन-से-सामंजस्य अनुपात के साथ दिनचर्या में 7 बार त्रुटियां थीं जैसे कि सबसे कम युग्मन-से-सामंजस्य अनुपात के साथ और 20 गुना महंगा था। ठीक करने के लिए (सेल्बी और बेसली 1991)।

इसके अलावा यह प्रश्न का नंबर एक उत्तर हुआ करता था। प्रत्येक प्रोग्रामर को पढ़ने वाली एकल सबसे प्रभावशाली पुस्तक क्या है? (हालांकि मुझे इस सवाल के जवाब हाल ही में एक लंगड़े तरीके से पुनर्गठित हुए थे)

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