मुझे लगता है कि विषय अच्छी तरह से चुना गया है। पर्ल की एक पंक्ति लिखने के लिए यह "शांत" है जो एक बार में दस हजार चीजें करता है, लेकिन तब यह बेकार हो जाता है जब आपको इसे फिर से लिखना पड़ता है।
एक अलग नोट पर, चतुर या नहीं, कोड को प्रलेखित किया जाना चाहिए। उद्योग-स्वीकृत प्रोग्रामिंग भाषाओं और उच्च स्तरीय अवधारणाओं के बीच एक अंतर्निहित बाधा है जो हम इंसानों के रूप में हमारी सोच में आदी हैं। सेल्फ-डॉक्यूमेंटिंग कोड बस साकार करने योग्य नहीं है - जब तक कि यह प्राकृतिक भाषा न बन जाए, तब तक। यहां तक कि प्रोलॉग कोड को भी दस्तावेज करने की आवश्यकता है, हालांकि, यह उच्च स्तर का हो सकता है, यह अभी भी औपचारिक है।
ठीक दानेदार अनिवार्य कोड मोटे अनाज योजनाओं को लागू करने के लिए कार्य करता है - जिन्हें दस्तावेज करने की आवश्यकता होती है। मैं विधि के सभी 50 लाइनों के माध्यम से पढ़ने के लिए नहीं करना चाहता जब एक त्वरित 3-लाइन रोडमैप टिप्पणी करेंगे।
बाद में संपादित करें: एक अधिक स्पष्ट उदाहरण वह है जो कंप्यूटर को स्थानांतरित करता है। एक किताब बहुत अच्छी तरह से लिखी जा सकती है, लेकिन हम अक्सर इसे अमूर्तन के विभिन्न स्तरों पर संसाधित करना चाहते हैं। अक्सर, पुस्तक का एक सारांश क्या करेगा, और यह कि क्या टिप्पणियाँ कोड की पेशकश कर सकती हैं। बेशक अच्छी तरह से अमूर्त कोड आत्म प्रलेखन की दिशा में एक लंबा रास्ता तय कर सकता है, लेकिन यह आपको अमूर्तता के सभी स्तरों को नहीं दे सकता है।
और टिप्पणियां किसी पुस्तक में भी सिद्दत की तरह काम कर सकती हैं, जब हमें मुख्य पाठ में एक दावे के पीछे तर्क की प्रक्रिया को समझाना होगा।
इस संदर्भ में, मुझे लगता है कि टिप्पणियों की आवश्यकता को पार करने वाली प्राकृतिक भाषा का उल्लेख करने वाला मेरा पूर्व कथन गलत है। यहां तक कि प्राकृतिक भाषा की तरह, एक पुस्तक में, स्वयं को दस्तावेज़ीकरण के लिए उधार दे सकता है, एक विरल तरीके से समझाने के लिए, पाठ में अमूर्त तरीके से, या मुख्य पाठ को अलग किए बिना detours प्रदान करने के लिए। ध्यान दें कि अच्छी तरह से अमूर्त कोड पहले से ही स्व दस्तावेज होने की दिशा में एक लंबा रास्ता तय कर सकता है।
अंतिम, लेकिन कम से कम नहीं, टिप्पणियाँ कोडर को अमूर्तता के उच्च स्तर पर रखने में मदद कर सकती हैं। अक्सर मुझे एहसास होता है कि लगातार दो टिप्पणियाँ जो मैंने चरणों की एक सूची में शामिल की थीं, वे अमूर्तता के समान स्तर पर नहीं बोलते हैं, जो तुरंत उस कोड के साथ जो मैं कर रहा हूं, उस पर एक महत्वपूर्ण नज़र रखता है।
कुछ समस्याएं कोडिंग को पार कर जाती हैं और अन्य गतिविधियों की तरह कोडिंग को प्रभावित करती हैं। टिप्पणियां हमारे कोड के पहलुओं, और पहलुओं को स्पष्ट करने में मदद कर सकती हैं, और मैं उन्हें एक सुखद साथी ढूंढता हूं जो परिवर्तन के लिए व्यक्ति को लाभ पहुंचाने के लिए एक नरम भाषा बोलता है।