कोडिंग "मानक" ... विकास के बहुत सारे क्षेत्र हैं जिन्हें मानकीकृत किया जा सकता है। क्या हम कोडिंग कन्वेंशनों के बारे में बात कर रहे हैं, जैसे मानकों का नामकरण आदि? या हम कुछ गहरी बात कर रहे हैं, जैसे टीडीडी / बीडीडी, सीआई, आदि।
मैं आपको बता सकता हूँ कि CI परीक्षण परीक्षणों और अच्छे कोड कवरेज के साथ "टेस्ट-फर्स्ट" कार्यप्रणाली का पालन करने से क्लाइंट को मिलने वाले कीड़ों की संख्या कम हो जाती है। डेवलपर और क्यूए दोनों द्वारा स्वचालित परीक्षण, बग खोजने के लिए एक अपेक्षाकृत "सस्ता" तरीका भी है क्योंकि उनके पास आमतौर पर बहुत कम प्रतिक्रिया समय होता है। आप यह जान सकते हैं कि आपने जो कुछ सोचा था, उसे आपने लगभग 45 सेकंड के यूनिट टेस्ट के हिसाब से नहीं लिखा। एकीकरण परीक्षणों के एक दो घंटे में ऐसी जगहें मिलेंगी, जहाँ एक साथ चीजों को प्लग करना योजना के अनुसार नहीं था, और एंड-टू-एंड और स्वचालित यूआई परीक्षण बहुत ही उच्च स्तर पर सॉफ़्टवेयर में कार्यात्मक दोषों को जल्दी से हल कर सकते हैं।
वे प्रतिगमन को भी रोकते हैं। आपको एक बग मिला। आप एक परीक्षण लिखते हैं जो साबित करेगा कि व्यवहार अब नहीं होता है, आप परीक्षण पास होने तक कोड करते हैं, और अब आपके पास एक परीक्षण है कि इस बिंदु से आगे यह सुनिश्चित करेगा कि बग फिर कभी समस्या नहीं है। यह मेरे अनुभव में, नए कीड़े का एक प्रमुख स्रोत है; एक चीज़ को ठीक करने से कुछ और टूट जाता है, और आपके डेवलपर का परीक्षण उस दूसरी स्थिति को कवर नहीं कर सकता है जो अब टूट चुकी है। जो सामान काम करता था उसे तोड़ना आपके ग्राहकों के लिए एक बड़ा लाल झंडा है।
अंत में, इस पद्धति के भाग के रूप में आपके द्वारा निर्मित यह स्वचालित परीक्षण संरचना आपको बहुत आसानी से एक वातावरण प्रदान करेगी जहां आप सॉफ्टवेयर के एक नए निर्माण को सचमुच एक पल के नोटिस पर जारी कर सकते हैं। "अरे, वह बग जो आपने अभी तय किया है वह कुछ वास्तविक सिरदर्द पैदा कर रहा है? जब आप एक नए संस्करण में तैयार होंगे?" "ओह पर क्लिक करें , लगभग 5 मिनट में जब बिल्ड सर्वर इसे डाउनलोड पृष्ठ पर प्रकाशित करना समाप्त करता है"।
जहाँ तक बुनियादी कोडिंग सम्मेलनों, जैसे चर नामों को मानकीकृत करना, मैंने पाया है कि उनमें से अधिकांश कम उपयोगी और अधिक परेशान करने वाले हैं। उन मानकों के प्रकार हैं जो "अद्भुत हैं, क्योंकि चुनने के लिए बहुत सारे हैं"। PascalCased और CamelCased पहचानकर्ता के बीच अंतर के रूप में आप क्या अनुभव करते हैं, ऐसा कोई और नहीं सोच सकता है। अंडरस्कोर, नाम की लंबाई सीमा (या आवश्यकताएं जो विधि / क्षेत्र के नाम एक कहानी बताती हैं); संकलक द्वारा लागू किए गए सम्मेलनों के अलावा या जो आमतौर पर भाषा-विशिष्ट पुस्तकालय कोड में देखे जाते हैं, आधुनिक आईडीई आपको एक चर या फ़ंक्शन के बारे में जानने के लिए आवश्यक सब कुछ बता सकता है जिसमें आपको किसी विशेष में इसका उपयोग करने की कोशिश करनी चाहिए या नहीं। परिस्थिति। इसके अलावा, एक कोड कन्वेंशन चेक चलाने से अक्सर उन समस्याओं के बारे में पता चलेगा जिनमें आप कोड नहीं कर सकते हैं या नहीं ' टी किसी थर्ड पार्टी लाइब्रेरी की तरह बदलना चाहते हैं, जो मानकों के एक अलग सेट का उपयोग करते हैं, या कोड को इंटरॉप करते हैं जो आपकी मूल भाषा के मानकों के बजाय विन एपीआई नामकरण मानकों के अनुरूप हो सकता है। आप अपने कोड में cruft को जोड़ने के लिए अपने कोड में cruft को अनदेखा करने के लिए अपने उपकरण को बताने के लिए समाप्त करते हैं।