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