तकनीकी रूप से नहीं, लेकिन अन्यथा बिल्कुल हाँ !!!
"यह व्यक्तिगत प्राथमिकता है" के बारे में भूल जाओ, "कोड ठीक चलेगा", "यह मेरे लिए ठीक काम कर रहा है", "यह अधिक पठनीय है" यदा यदा बीएस। यह आसानी से बहुत ही गंभीर समस्याओं को जन्म दे सकता है अगर आप एक गलती करते हैं और मुझे विश्वास है कि यह जब आप कोडिंग कर रहे हैं एक गलती करते हैं करने के लिए (क्या नहीं belive ?, प्रसिद्ध की जाँच बहुत ही आसान है एप्पल बग विफल जाना )।
तर्क: "यह व्यक्तिगत प्राथमिकता है"
नहीं ऐसा नहीं है। जब तक आप किसी एक आदमी की टीम को छोड़ रहे हैं, नहीं। अधिकांश समय आपके कोड को पढ़ने / संशोधित करने वाले अन्य लोग होंगे। किसी भी गंभीर कोडिंग टीम में यह अनुशंसित तरीका होगा, इसलिए यह 'व्यक्तिगत प्राथमिकता' नहीं है।
तर्क: "कोड ठीक चलेगा"
तो स्पेगेटी कोड करता है! क्या इसका मतलब यह है कि इसे बनाना ठीक है?
तर्क: "यह मेरे लिए ठीक काम कर रहा है"
अपने करियर में मैंने इस समस्या के कारण इतने सारे कीड़े पैदा किए हैं। आपको शायद याद नहीं है कि आपने कितनी बार टिप्पणी की थी 'DoSomething()'
और इस बात से हैरान थे कि 'SomethingElse()'
:
if (condition)
DoSomething();
SomethingElse();
या 'SomeMore' को जोड़ा और ध्यान नहीं दिया कि इसे कहा नहीं जाएगा (भले ही इंडेंटेशन का अर्थ है अन्यथा):
if (condition)
DoSomething();
SomethingMore();
यहाँ एक वास्तविक जीवन उदाहरण है जो मेरे पास था। कोई व्यक्ति सभी लॉगिंग को चालू करना चाहता था ताकि वे खोजें और बदलें "console.log"
=> //"console.log"
:
if (condition)
console.log("something");
SomethingElse();
समस्या देखें?
यहां तक कि अगर आपको लगता है, "ये बहुत तुच्छ हैं, तो मैं ऐसा कभी नहीं करूंगा"; याद रखें कि हमेशा आपकी तुलना में अवर प्रोग्रामिंग कौशल वाला एक टीम सदस्य होगा (उम्मीद है कि आप टीम में सबसे खराब नहीं हैं!)
तर्क: "यह अधिक पठनीय है"
अगर मैंने प्रोग्रामिंग के बारे में कुछ भी सीखा है, तो यह है कि सरल चीजें बहुत जल्दी जटिल हो जाती हैं। यह बहुत आम है कि यह:
if (condition)
DoSomething();
विभिन्न ब्राउज़रों / वातावरणों / उपयोग के मामलों के साथ परीक्षण किए जाने के बाद निम्नलिखित में बदल जाता है या नई सुविधाएँ जोड़ी जाती हैं:
if (a != null)
if (condition)
DoSomething();
else
DoSomethingElse();
DoSomethingMore();
else
if (b == null)
alert("error b");
else
alert("error a");
और इसके साथ इसकी तुलना करें:
if (a != null) {
if (condition) {
DoSomething();
}
else {
DoSomethingElse();
DoSomethingMore();
}
} else if (b == null) {
alert("error b");
} else {
alert("error a");
}
पुनश्च: बोनस अंक ऊपर दिए गए उदाहरण में बग पर ध्यान देने वाले को जाता है।