स्व-दस्तावेजीकरण कोड (सेल्फ डॉक्यूमेंटिंग): Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Short description|Source code written to enable use by others without prior experience}} | {{Short description|Source code written to enable use by others without prior experience}} | ||
[[कंप्यूटर प्रोग्रामिंग]] में '''सेल्फ डॉक्यूमेंटिंग | [[कंप्यूटर प्रोग्रामिंग]] में '''सेल्फ डॉक्यूमेंटिंग''' सोर्स कोड और यूजर इंटरफेस, नेमिंग प्रोग्रामिंग और [[संरचित प्रोग्रामिंग|स्ट्रक्चर्ड प्रोग्रामिंग]] का अनुसरण करते हैं जो पूर्व ज्ञान के बिना ही सिस्टम के उपयोग को सक्षम बनाता है।<ref name="Schach_2011"/>[[वेब विकास|वेब]] डेवलपमेंट में सेल्फ डॉक्यूमेंटिंग एक ऐसी वेबसाइट को संदर्भित करता है जो पब्लिक डॉक्यूमेंसन के माध्यम से इसके निर्माण की सम्पूर्ण प्रक्रिया को प्रदर्शित करता है, और जो पब्लिक डॉक्यूमेंसन डेवलपमेंट प्रक्रिया का पार्ट है।{{Citation needed|date=August 2018}} | ||
==उद्देश्य== | ==उद्देश्य== |
Revision as of 00:01, 9 August 2023
कंप्यूटर प्रोग्रामिंग में सेल्फ डॉक्यूमेंटिंग सोर्स कोड और यूजर इंटरफेस, नेमिंग प्रोग्रामिंग और स्ट्रक्चर्ड प्रोग्रामिंग का अनुसरण करते हैं जो पूर्व ज्ञान के बिना ही सिस्टम के उपयोग को सक्षम बनाता है।[1]वेब डेवलपमेंट में सेल्फ डॉक्यूमेंटिंग एक ऐसी वेबसाइट को संदर्भित करता है जो पब्लिक डॉक्यूमेंसन के माध्यम से इसके निर्माण की सम्पूर्ण प्रक्रिया को प्रदर्शित करता है, और जो पब्लिक डॉक्यूमेंसन डेवलपमेंट प्रक्रिया का पार्ट है।[citation needed]
उद्देश्य
सेल्फ डॉक्यूमेंटिंग प्रणालियों के लिए सामान्यतः बताए गए उद्देश्यों में शामिल हैं:
- सोर्स कोड को रीड और समझने में आसान बनाएं[2]
- लिगेसी प्रणालियों को बनाए रखने या विस्तारित करने के लिए आवश्यक प्रयास को कम करें[2]
- किसी सिस्टम के यूजर और डेवलपर्स के लिए कोड कमेंट या सॉफ्टवेयर मैनुअल जैसे द्वितीयक डॉक्यूमेंट स्रोतों से परामर्श लेने की आवश्यकता को कम करें[2]
- स्व-निहित ज्ञान के प्रदर्शन के माध्यम से स्वचालन की सुविधा प्रदान करना
सम्मेलन
सेल्फ डॉक्यूमेंटिंग कोड स्पष्ट रूप से मानव-पठनीय नामों का उपयोग करके लिखा जाता है, जिसमें सामान्यत: मानव भाषा में एक वाक्यांश शामिल होता है जो प्रतीक के अर्थ (जैसे कि आर्टिकल.नंबर ऑफवर्ड्स या ट्राईओपन) के रूप में दर्शाता है। कोड में एक स्पष्ट और व्यवस्थित संरचना भी होनी चाहिए जिसे यूजर्स उपयोग किए गए एल्गोरिदम को आसानी से समझ सके।
व्यावहारिक विचार
कुछ व्यावहारिक विचार हैं जो इस बात को प्रभावित करते हैं कि सेल्फ डॉक्यूमेंटिंग प्रणाली के उद्देश्यों को कितनी व्यवस्थित तरीके से संपादित किया जा सकता है।
- नेमिंग कन्वेंशनों की एकसमानता (प्रोग्रामिंग)[2]
- कंसिस्टेंसी(संगतता)[2]
- एप्लिकेशन का बिस्तार और सिस्टम की आवश्यकताएँ
उदाहरण
नीचे सेल्फ डॉक्यूमेंटिंग कोड का एक बहुत ही सरल उदाहरण दिया गया है, जिसमें मानव पाठकों के लिए कोड के तर्क को और अधिक स्पष्ट बनाने के लिए स्पष्ट टिप्पणियों के स्थान पर नामकरण का उपयोग किया गया है।
size_t count_alphabetic_chars(const char *text)
{
if (text == NULL)
return 0;
size_t count = 0;
while (*text != '\0')
{
if (is_alphabetic(*text))
count++;
text++;
}
return count;
}
आलोचना
जेफ रस्किन ने सेल्फ डॉक्यूमेंटिंग कोड में विश्वास की आलोचना करते हुए कहा कि कोड इस तर्क को स्पष्ट नहीं कर सकता है कि प्रोग्राम क्यों लिखा जा रहा है या फिर इसे इस तरह से क्यों लागू किया गया है।[3]
यह भी देखें
- ऑटोलॉजिकल शब्द
- कोड पठनीयता
- टिप्पणी (कंप्यूटर प्रोग्रामिंग)
- नियंत्रित प्राकृतिक भाषा
- साक्षर प्रोग्रामिंग
- प्राकृतिक भाषा प्रोग्रामिंग
संदर्भ
- ↑ Schach, Stephen R. (2011). Object-Oriented and Classical Software Engineering (8 ed.). McGraw-Hill Professional. pp. 505–507. ISBN 978-0-07337618-9. OCLC 477254661.
- ↑ 2.0 2.1 2.2 2.3 2.4 Paul, Matthias R. (2002-04-09). "Re: [fd-dev] ANNOUNCE: CuteMouse 2.0 alpha 1". freedos-dev. Archived from the original on 2020-03-24. Retrieved 2020-03-24.
[…] almost any numeric value in source code should be replaced by a corresponding symbol. This would greatly improve the self-explanatory aspect of source code and significantly ease maintenance of the code in the long run, as it would enable one to search for symbols to find relations between different excerpts of the code. […]
- ↑ Raskin, Jef (2005-03-18). "Comments Are More Important Than Code - The thorough use of internal documentation is one of the most-overlooked ways of improving software quality and speeding implementation". ACM Queue. Development. ACM, Inc. 3 (2). Archived from the original on 2020-03-24. Retrieved 2019-12-22. [1][2]
अग्रिम पठन