1940 से 2020 तक कैसे कोड टिप्पणियाँ विकसित हुईं

लेकिन वे किसी भी तरह से विकसित नहीं हुए। इस दिन की पहली प्रोग्रामिंग लैंग्वेज से, कोड पर टिप्पणियाँ सिर्फ स्टैटिक टेक्स्ट हैं (कुछ अपवादों के बारे में, जिनके बारे में मैं बात करूँगा)।

छवि

खैर, आप और क्या सुधार कर सकते हैं या साथ आ सकते हैं? आप पूछते हैं। आइए इस विषय पर प्रतिबिंबित करें - क्या यह संभव है कि किसी भी तरह से इस तरह के एक महत्वपूर्ण के साथ बातचीत करने में अपने अनुभव को बेहतर बनाया जाए, लेकिन अक्सर कोड में प्रलेखन के रूप में या सरल टिप्पणी में प्रोग्रामिंग के पहलू को अनदेखा किया जाता है।

आरंभ करने के लिए, हम इस लेख के विषय में कुछ पैराग्राफ समर्पित करेंगे। हां, क्योंकि वास्तव में यह विकास की कहानी नहीं है, इसलिए आप शीर्षक उत्तेजक कह सकते हैं। एक छोटा अस्वीकरण: मेरा ज्ञान सीमित है (अनुभव में उतरते हुए) इन भाषाओं में: व्यापक अनुभव: टीएस, जेएस, जंग, मध्यम: पीएचपी, सी ++, छोटा: गो, जावा।

तो, हमारे पास यह सब है: एक परित्यक्त और छोटी गाड़ी JSDoc, आखिरकार टाइपस्क्रिप्ट युग में मृत, जिस तरह से कोई कम छोटी गाड़ी नहीं है और TSDoc छोड़ दिया है। PHP के लिए, PHPDoc है, जो इस भाषा में कोड करते समय खराब रूप से उपयोगी था। मैं यह स्वीकार करता हूं कि मुझे C ++ में सबसे छोटा अनुभव है, इसलिए मैंने ऐसा कुछ भी नहीं सुना है, और Google में पाए जाने वाले CppDoc में दुखद मुस्कराहट के अलावा कुछ भी नहीं है। इस संबंध में सबसे विकसित हमेशा की तरह, जंग है। इसमें एक उत्कृष्ट रस्टडॉक प्रणाली है, लेकिन दुर्भाग्य से यह हमेशा एर्गोनोमिक नहीं है और अभी भी आईडीई द्वारा खराब रूप से समर्थित है।

इस प्रकार, समग्र चित्र बल्कि दुखद है, और कोड के चारों ओर टिप्पणियों का बुनियादी ढांचा प्रोग्रामिंग इतिहास की शुरुआत से ही नहीं बदला है। टिप्पणियाँ 90 साल पहले के सशर्त प्लांकल्कुल में वही दिखती हैं जैसे कि अपोलो 11 लूनर मॉड्यूल कंप्यूटर के कोडांतरक कोड में।

छवि
(फोटो shopify.com से)

कहानी खत्म हो गई। अब, इस तथ्य के साथ क्या गलत है कि टिप्पणियां केवल स्थिर पाठ हैं? क्या स्थैतिक पाठ सही नहीं है और इस पर कुछ सुधार किया जा सकता है? उन्होंने कुछ हाइपरटेक्स्ट और एचटीएमएल का आविष्कार किया, इंटरनेट इसके चारों ओर है। लेकिन यह सब किसकी जरूरत है? URL में मैन्युअल रूप से टाइप करना कितना मुश्किल है? सहस्त्राब्दी काफी आलसी थे।

बेशक यह व्यंग्य था। लेकिन कोड पर टिप्पणियों के साथ हाइपरटेक्स्ट का क्या करना है? आइए विचार करें कि हाइपरटेक्स्ट ने किन समस्याओं का हल किया और क्या कोड टिप्पणियों का उपयोग करते समय कोई समान समस्याएं हैं?

इसलिए, हाइपरटेक्स्ट हाइपरलिंक के साथ स्थिर पाठ में बदल गया। इसके लाभों को समझने का सबसे आसान तरीका है विकिपीडिया लेख पढ़कर। उदाहरण के लिए, लार्ज हैड्रॉन कोलाइडर के बारे में। लेख को पढ़ना शुरू करने के बाद, ज्यादातर लोग समझ जाएंगे कि प्रोटॉन और आयन क्या हैं अगर वे भौतिकी के पाठ को याद नहीं करते हैं। लेकिन फिर "हेड्रॉन" शब्द दिखाई देता है। यह क्या है और पाठक इसके बारे में कैसे सीख सकते हैं? यदि यह एक स्थैतिक पाठ था, तो बहुत विकल्प नहीं होगा, सिवाय कहीं खोजने के (पुस्तकालय में?) एक और पाठ जहां यह कहता है कि हैड्रॉन क्या है। लेकिन भगवान का शुक्र है कि ऐसा नहीं है, और हम सिर्फ हाइपरलिंक पर क्लिक कर सकते हैं।

आइए सोचते हैं, क्या प्रोग्रामिंग में ऐसी स्थितियां हैं? उनमें से हजारों। एक उदाहरण खोजने के लिए, लिनक्स कर्नेल जैसे लगभग किसी भी खुले भंडार पर जाएं। मुझे जो पहली फाइल मिली, उसमें मैं गया

/** * irq_cpu_rmap_notify - callback for IRQ subsystem when IRQ affinity updated * @notify: struct irq_affinity_notify passed by irq/manage.c * @mask: cpu mask for new SMP affinity * * This is executed in workqueue context. */ static void irq_cpu_rmap_notify(/*   */) { /*   */ } 


तो, कल्पना करें कि आप हाल ही में इस परियोजना में शामिल हुए और अचानक कुछ टूट गया। Backtrack इस फ़ंक्शन की ओर जाता है, लेकिन आप इसके बारे में कुछ भी नहीं जानते हैं। आपको क्या करना चाहिए? यह सही है - उन सभी का उपयोग करें जिन्हें आपको यह समझना होगा कि यह फ़ंक्शन क्या है - कोड स्वयं और उस पर टिप्पणी। मानव पाठ आम तौर पर कोड की तुलना में समझने में आसान है, है ना? इसलिए, हम टिप्पणी पढ़कर शुरू करते हैं। और फिर हमारा मूड प्लिंथ से नीचे गिर जाता है।

किस तरह का आईआरक्यू? आपको पता नहीं है कि यह क्या है। अगले चरण क्या हैं? अधिक अनुभवी सहयोगियों से संपर्क करें और विचलित करें? आप निश्चित रूप से कर सकते हैं, लेकिन वास्तव में नहीं करना चाहते हैं। या वे छुट्टी पर हैं। कोड द्वारा खोजें? आपको इस संक्षिप्त नाम के हजारों संदर्भ मिलेंगे, और यह आपको उदास कर देगा। ठीक है, मान लें कि आपने कोड बेस का आधा हिस्सा अफवाह फैला दिया है और इस IRQ का अर्थ क्या है, इसका स्पष्टीकरण मिलेगा। लेकिन यह भी होता है कि यह स्पष्टीकरण आईआरक्यू के एक अन्य संक्षिप्त नाम से है, जिसका एक बिल्कुल अलग अर्थ है! खैर, आखिरी मामला काफी दुर्लभ है, लेकिन फिर भी।

लेकिन क्या होगा अगर आपने IRQ शब्द पर क्लिक किया और चमत्कारिक ढंग से, आपका IDE आपको इस संक्षिप्त नाम की परिभाषा के स्थान पर ले जाएगा? यह बहुत अच्छा होगा, है ना? और इसके अलावा, काफी सरल, यह हाइपरटेक्स्ट की तुलना में अधिक जटिल नहीं है। तो 2020 में प्रोग्रामर खुद ऐसा उपकरण क्यों नहीं बनाएंगे? मैं कैप्सूल और बोल्ड पिछले वाक्य दोनों को उजागर करूंगा। इसका कारण मेरे लिए एक बड़ा रहस्य है। शायद अन्य IDE के लिए ऐसे हैं, लेकिन मुझे VSCode के लिए कुछ भी नहीं मिला। इसलिए, मैंने इस विस्तार को खुद बनाया। मैं आपको परीक्षण करने और अपनी राय व्यक्त करने के लिए आमंत्रित करता हूं।

लेकिन चलो जारी रखें।

ऊपर दिए गए कोड के टुकड़े को पढ़ते समय, या एक टिप्पणी के रूप में, लगभग हर शब्द के माध्यम से प्रश्न उठते हैं। उदाहरण के लिए, यह irq_affinity_notify संरचना कहाँ स्थित है? या क्यों 2020 में मैं irq / manage.c पर क्लिक नहीं कर सकता ताकि IDE कर्तव्यपूर्वक और जल्दी से मुझे इस फ़ाइल में स्थानांतरित कर दे? यह भी मेरे लिए एक महान रहस्य है। इसलिए, मेरे विस्तार में, पहले से ही हल किया गया है, लेकिन अभी तक केवल जावास्क्रिप्ट और टाइपस्क्रिप्ट (निम्नलिखित: C / C ++, Rust, Java, Go) के लिए, और दूसरे के रूप में कम महत्वपूर्ण भी हल हो जाएगा, लेकिन थोड़ी देर बाद।

मैं आपको पाठ के एक समूह के साथ आगे बोर नहीं करना चाहता, इसलिए काम के कुछ और उदाहरणों के साथ बस एक जिफ़ डालें:

habr1.gif

मैं आलोचना और विषाक्त टिप्पणियों से बहुत डरता हूं, लेकिन मैं इससे भी अधिक जानना चाहता हूं कि आप इस बारे में क्या सोचते हैं?

Source: https://habr.com/ru/post/hi485162/


All Articles