कोड पहले से ही लिखा गया है, और प्रयास खर्च किए जाते हैं
यह भी अनावश्यक है। यदि आप इसे किसी भी चीज के लिए उपयोग नहीं करते हैं, तो यह (परिभाषा के अनुसार) बेकार है, भले ही यह क्या करता है या इस पर कितना प्रयास किया गया था।
कोड को सिंथेटिक और वास्तविक वातावरण पर परीक्षण किया जा सकता है
यदि यह बेकार है, तो यह अभी भी बेकार है, भले ही आपके पास इस पर परीक्षण हो। यदि कोड बेकार है, तो इसके लिए परीक्षण भी बेकार होना चाहिए (इसलिए टिप्पणी कोड को वहां रखने से अस्पष्टता पैदा होती है - क्या आप परीक्षण रखते हैं? यदि आपके पास टिप्पणी कोड का क्लाइंट कोड था, तो क्या आप ग्राहक कोड के साथ भी टिप्पणी करते हैं? )
यदि अच्छी तरह से संगठित (समूहीकृत, अलग पैकेज, शिथिल कपल आदि) तो यह आपको समग्र कोड विश्लेषण या रीफैक्टरिंग पर परेशान नहीं करता है
ऐसा नहीं। आपके सभी उपकरण (स्रोत नियंत्रण, स्थैतिक विश्लेषण, प्रलेखन चिमटा, संकलक, आदि) धीमी गति से चलेंगे, क्योंकि उन्हें अधिक डेटा संसाधित करना होगा (और उस डेटा का एक बड़ा या छोटा हिस्सा शोर है)।
यदि कोड दूसरी ओर अच्छी तरह से व्यवस्थित नहीं है , तो यह स्थैतिक विश्लेषण, रीफैक्टरिंग और किसी भी अन्य को गड़बड़ कर देगा।
आप अपने टूल इनपुट पर शोर शुरू कर रहे हैं और उम्मीद कर रहे हैं कि वे इसके साथ सही तरीके से सामना करेंगे।
क्या होगा यदि आपका स्थिर विश्लेषण उपकरण टिप्पणियों / कोड अनुपात की गणना करता है? आपने अभी इसे गड़बड़ कर दिया, कुछ ऐसा जो कल तक प्रासंगिक था (या जब भी कोड टिप्पणी की गई थी)।
कोड के सभी प्रासंगिक, टिप्पणी के ब्लॉक रखरखाव और आगे के विकास के लिए कोड को समझने में देरी का परिचय देते हैं और ऐसे विलंब लगभग हमेशा बहुत खर्च होते हैं। अपने आप से यह पूछें: यदि आपको किसी फ़ंक्शन के कार्यान्वयन को समझने की आवश्यकता है, तो आपको क्या देखना होगा? स्पष्ट कोड की दो लाइनें, या कोड की दो लाइनें और अन्य छब्बीस टिप्पणियाँ जो अब वास्तविक नहीं हैं?
कोड का उपयोग भविष्य में किया जा सकता है
यदि यह है, तो आप इसे अपनी टीम की पसंद के SCM में पाएंगे।
यदि आप एक सक्षम एससीएम का उपयोग करते हैं और इस पर भरोसा करते हैं तो मृत कोड रखने के लिए (स्रोत को अव्यवस्थित करने के बजाय), आपको यह देखना चाहिए कि न केवल उस कोड को किसने हटा दिया है (प्रतिबद्ध लेखक), बल्कि किस कारण (संदेश के लिए), और क्या अन्य इसके साथ बदलाव भी किए गए (बाकी उस कमिट के लिए अलग-अलग)।
हटाए जाने पर, लेखक असहज महसूस कर सकता है
इसलिए?
आप (मेरा मानना है) डेवलपर्स की एक पूरी टीम है जो आपको सबसे अच्छा सॉफ्टवेयर बनाने के लिए भुगतान करती है जो आप जानते हैं कि कैसे, "सबसे अच्छा सॉफ्टवेयर जिसे आप जानते हैं कि एक्स की भावनाओं को चोट पहुंचाए बिना कैसे करें"।
यह प्रोग्रामिंग का एक हिस्सा है, जो लिखा गया अधिकांश कोड अंततः खारिज कर दिया जाएगा; उदाहरण के लिए, जोएल स्पोल्स्की ने कुछ बिंदु पर कहा कि उनकी कंपनी के लिए, लगभग 2% लिखित कोड उत्पादन को देखता है।
यदि आप कोड बेस की गुणवत्ता पर डेवलपर्स के अहंकार को प्राथमिकता देते हैं, तो आप अपने उत्पाद की गुणवत्ता का त्याग करेंगे, ... क्या वास्तव में? अपने साथी डेवलपर्स की अपरिपक्वता को बनाए रखना? अपने सहयोगियों की अवास्तविक उम्मीदों की रक्षा?
संपादित करें: मैंने स्रोत में टिप्पणी कोड छोड़ने के लिए एक वैध कारण देखा है, और यह एक बहुत ही विशिष्ट मामला है: जब कोड एक अजीब / संयुक्त राष्ट्र के सहज रूप में लिखा जाता है और इसे फिर से लिखने का साफ तरीका नहीं होता है वास्तव में सूक्ष्म कारण के लिए काम करते हैं। यह भी समस्या को ठीक करने के लिए बार-बार प्रयास किए जाने के बाद ही लागू किया जाना चाहिए और हर बार प्रयास ने उसी दोष को फिर से पेश किया है। ऐसे मामले में, आपको टिप्पणी के रूप में टिप्पणी सहज ज्ञान युक्त कोड को जोड़ना चाहिए, और समझाएं कि यह काम क्यों नहीं करता है (इसलिए भविष्य के डेवलपर्स फिर से उसी बदलाव का प्रयास नहीं करेंगे):
// note by <author>: the X parameter here should normally
// be a reference:
// void teleport(dinosaur& X);
// but that would require that we raise another dinosaur and
// kill it every twelve hours
// as such, the parameter is passed by value
void teleport(dinosaur X);