सॉफ्टवेयर कंपनियों में विभिन्न कोडिंग मानक लागू किए गए हैं जो कोड विश्वसनीयता बढ़ाने, पोर्टेबिलिटी, और सबसे महत्वपूर्ण बात, विभिन्न डेवलपर्स द्वारा संयुक्त रूप से लिखे गए कोड में पठनीयता का लक्ष्य है।
दो उल्लेखनीय उदाहरण MISRA C और JSF प्रोजेक्ट के लिए विकसित C ++ मानक हैं ।
ये आमतौर पर निम्नलिखित रूप में होते हैं, ध्यान से निर्दिष्ट करने के बाद कि शब्द "क्या", "चाहिए", "चाहिए", "हो सकता है", आदि का मतलब है:
उदाहरण:
नियम 50: फ्लोटिंग पॉइंट वेरिएबल का सटीक समानता या असमानता के लिए परीक्षण नहीं किया जाएगा।
तर्क: चूंकि फ्लोटिंग पॉइंट नंबर गोलाई और ट्रंकेशन त्रुटियों के अधीन होते हैं, सटीक समानता प्राप्त नहीं की जा सकती है, भले ही अपेक्षित हो।
इन कोडिंग मानकों पर प्रतिबंध है, आमतौर पर कोड पर जो संकलक के दृष्टिकोण से कानूनी होगा, लेकिन यह खतरनाक या अपठनीय है, और इसलिए "हानिकारक माना जाता है"।
अब इसको गाली दो!
आपको अपनी कंपनी में एक छोटी मानकीकरण समिति के सदस्य के रूप में स्वीकार किया जाता है, जिसका उद्देश्य नए कोडिंग मानकों को डिजाइन करना है, कंपनी के प्रत्येक डेवलपर को उपयोग करने की आवश्यकता होगी। दूसरों के लिए अनभिज्ञ, आप गुप्त रूप से एक भयावह संगठन के रोजगार में हैं और कंपनी को तोड़फोड़ करने के आपके मिशन के रूप में हैं। आपको कोडिंग मानक पर एक या एक से अधिक प्रविष्टियों का प्रस्ताव करना होगा जो बाद में डेवलपर्स को बाधित करेगा। हालांकि, आपको इसे तुरंत स्पष्ट नहीं करने के लिए सावधान रहना चाहिए, अन्यथा आप इसे मानक में स्वीकार नहीं किए जाने का जोखिम उठाते हैं।
दूसरे शब्दों में, आपको नियमों को कोडिंग मानक से परिचित कराना चाहिए जो वैध दिखते हैं और समिति के अन्य सदस्यों द्वारा स्वीकार किए जाने का एक अच्छा मौका है। प्रोजेक्ट शुरू होने के बाद और अनगिनत मानव-घंटे कोड में निवेश किए जाते हैं, आपको इन नियमों का दुरुपयोग करने में सक्षम होना चाहिए (उदाहरण के लिए, तकनीकी रूप से, या बहुत हद तकशाब्दिक व्याख्या) मानक के विपरीत होने के कारण सामान्य और अच्छी गुणवत्ता कोड को ध्वजांकित करना। इसलिए उन्हें इसे नया स्वरूप देने के लिए बहुत प्रयास करने होंगे, और नियम उन्हें इस बिंदु से बाधित करेंगे, लेकिन जैसा कि नियम अभी कुछ समय के लिए सक्रिय हैं, शुद्ध गति इन भूमिकाओं को जीवित रखेगी, और जैसा कि महत्वपूर्ण संघर्ष हैं प्रबंधन के विभिन्न स्तरों के बीच हितों की, अन्य प्रबंधक शायद नियमों को जीवित रखेंगे (वे अपनी गलती स्वीकार करने के लिए मूर्ख होंगे!), इसलिए कंपनी में बाधा उत्पन्न हो रही है। Mwahahahahaaa!
स्कोरिंग
पहली मान्य प्रविष्टि जीत से लगभग 2 सप्ताह बाद सबसे अधिक मतदान का जवाब। मेरे पास एक अच्छे उत्तर के लिए एक विचार है, लेकिन मैं इसे कुछ दिनों के बाद ही पोस्ट करूंगा, क्योंकि किसी और को एक ही विचार आ सकता है, और मैं उन्हें आनंद से लूटना नहीं चाहता। बेशक, मेरा अपना जवाब किसी भी अन्य से ऊपर स्वीकार नहीं किया जाएगा, चाहे स्कोर कोई भी हो।
मतदाताओं को जवाब देने के लिए प्रोत्साहित किया जाता है कि खामियों को कितनी अच्छी तरह से छिपाया गया है, और डेवलपर्स को कितनी निराशा होती है।
नियमों और विनियमों
- नियम या नियमों को पेशेवर रूप से लिखित रूप में देखना चाहिए, जैसे उपरोक्त उदाहरण में
- नियमों को वास्तविक दिखना चाहिए (इसलिए "सभी चरों में कम से कम एक अंडरस्कोर, एक अपर केस लेटर, एक लोअर केस लेटर और दो नंबर" जैसी चीजें स्वीकार नहीं की जानी चाहिए। वे वास्तव में डेवलपर्स में बाधा डालेंगे, लेकिन सबसे अधिक संभावना द्वारा स्वीकार नहीं किया जाएगा। समिति) और यदि उनकी योग्यता तुरंत स्पष्ट नहीं है, तो आपको एक अच्छा तर्क देना चाहिए।
- आपको बाद में डेवलपर्स को तोड़फोड़ करने के लिए अपने नियमों का उपयोग / दुरुपयोग करने का एक तरीका खोजने में सक्षम होना चाहिए। आप अन्य नियमों में किसी भी अस्पष्टता का दुरुपयोग कर सकते हैं, या आप कई नियमों का उपयोग कर सकते हैं जो अपने आप में हानिरहित हैं, लेकिन एक बार संयुक्त होने पर शैतानी!
- आपको अपनी पोस्ट के अंत में स्पॉइलर टैग में एक स्पष्टीकरण पोस्ट करना चाहिए कि आप नियमों का दुरुपयोग कैसे कर सकते हैं
- उपयोग की जाने वाली भाषा एक गूढ़ भाषा नहीं होनी चाहिए। वास्तविक परियोजनाओं में व्यापक रूप से इस्तेमाल की जाने वाली भाषा को चुना जाना चाहिए, इसलिए सी-जैसे सिंटैक्स (गोल्फस्क्रिप्ट जैसी चीजों के बजाय) वाली भाषाओं को प्राथमिकता दी जाती है।