1. पाठ लिखना? ज़रुरी नहीं।
सोर्स कोड लिखना किताब लिखने से अलग है।
जबकि दोनों एक ही लक्ष्य का पीछा करते हैं: जितना संभव हो उतना सरल होना और समझना आसान है, वे इसे बहुत अलग तरीके से कर रहे हैं, और एक लेखक को जो चीजें सीखनी चाहिए, वे वैसी नहीं हैं जैसी कि एक सॉफ्टवेयर डेवलपर को सीखनी चाहिए।
उदाहरण 1: भाषण के आंकड़े
उपन्यास, कविता आदि लिखते समय भाषण के आंकड़े मूल्यवान होते हैं, क्योंकि वे लेखन की अभिव्यक्ति को बढ़ाते हैं।
पिछली बार आपने ऑक्सिमोरॉन या स्रोत कोड में एक मुकदमे को देखा है ? क्या यह उन्हें करने में मदद करेगा, या यह किसी भी डेवलपर के लिए बेहद हानिकारक होगा, जिन्हें बाद में इस तरह के स्रोत कोड को बनाए रखना होगा?
उदाहरण 2: शब्दावली
साहित्य में समृद्ध शब्दावली की बहुत प्रशंसा की जाती है। उदाहरण के लिए, विलियम शेक्सपियर की शब्दावली बीस हजार से पच्चीस हजार शब्द है। समृद्ध शब्दावली उपन्यास या कविता को पढ़ने के लिए और अधिक रोचक बनाती है।
जब आप स्रोत कोड लिखते हैं, तो आप यह अपेक्षा करते हैं कि यह उन लोगों द्वारा पढ़ा जाए जो अंग्रेजी नहीं बोलते हैं । यह दिखाना कि आप अंग्रेजी जानते हैं कि आपके कोड के लिए कितना हानिकारक होगा। यदि आप एक फैंसी शब्द जानते हैं, जिसका अर्थ है कि आपको क्या चाहिए, लेकिन आप जानते हैं कि बहुत से लोग इस शब्द का अर्थ नहीं जानते हैं, तो आपको कम अभिव्यंजक पर्यायवाची शब्द या शब्दों का एक सेट ढूंढना चाहिए, जो अर्थ समझाए। किसी दिए गए प्रोजेक्ट के लिए कुछ हजारों शब्दों की शब्दावली अक्सर काफी हद तक पर्याप्त होती है।
एक महत्वपूर्ण पहलू पर ध्यान दें: जबकि Google अनुवाद एक गैर-देशी वक्ता के लिए बहुत मददगार हो सकता है, किसी भी अनुवादक के साथ दो मुद्दे हैं:
भाषाओं की एक जोड़ी के लिए शब्दों के बीच 1: 1 का मेल जरूरी नहीं है। कुछ शब्दों का अन्य भाषाओं में या तो कोई अनुवाद नहीं है, या एकाधिक शब्द किसी विदेशी भाषा में किसी एक शब्द में अनुवाद कर सकते हैं। उदाहरण के लिए, रूसी में, भारी मात्रा में शब्द हैं जो बर्फ और ठंडे मौसम के विशिष्ट राज्यों को लक्षित करते हैं, और उन्हें फ्रेंच या स्पेनिश में अनुवाद करना उनकी विशिष्टता खोए बिना आमतौर पर असंभव है।
एक शब्द के कभी-कभी कई अर्थ होते हैं, और अर्थ संदर्भ से काट दिया जाता है। Google अनुवाद, अपनी उच्च गुणवत्ता के बावजूद, आमतौर पर किसी भी लेकिन सबसे बुनियादी स्थितियों के लिए अर्थ को इंगित करने में असमर्थ है।
उदाहरण 3: भाव
भाव गद्य को भी समृद्ध बनाते हैं। एक लेखक एक पाठक से अपेक्षा करता है कि उसके पास सामान्य संस्कृति की दी गई मात्रा है, और इस अवसर का उपयोग पाठ को अधिक अभिव्यंजक बनाने के लिए करता है।
पिछले उदाहरण के समान, इस तरह के भाव बहुत समस्याग्रस्त हो सकते हैं जब उन लोगों द्वारा पढ़ा जाता है जो मूल वक्ता नहीं हैं। लेकिन अगर सामान्य शब्दावली का आमतौर पर अनुवाद किया जा सकता है, तो अभिव्यक्ति अधिक समस्याग्रस्त है।
उदाहरण के लिए, अंग्रेजी मेरी पहली भाषा नहीं है, और दैनिक आधार पर, मैं StackExchange पर यहाँ सहित अभिव्यक्तियों का सामना करता हूँ, जो मुझे नहीं पता। मैं उनके अर्थ का अनुमान लगाने की कोशिश करता हूं, और कभी-कभी मैं सही होता हूं। लेकिन कभी-कभी मैं गलत हूं, और उन भावों को गुगली करना मदद नहीं करता है।
उसके / उसकी टिप्पणी में एक उपयोगकर्ता ने मुझे एक उदाहरण याद दिलाया, जिसने मुझे लंबे समय तक पीड़ित किया था जब मैंने अभी प्रोग्रामिंग शुरू की थी: पीएचपी की सुई और हिस्टैक । मैं भाषण के संबंधित आंकड़े से अनजान था, इसलिए हर बार जब मैं प्रलेखन पढ़ रहा था, मैं सोच रहा था कि यह सब क्या है। यह कहने की आवश्यकता नहीं है कि सी # sequence.Contains(element)
या उत्कृष्ट पायथन element in sequence
बेहतर विकल्प हैं। ठीक है, कम से कम, जो डेवलपर्स नहीं जानते हैं कि हिब्रू को पीएचपी से भी पीड़ित होना था , लेकिन यह एक अलग कहानी है।
उदाहरण 4: सांस्कृतिक संदर्भ
सांस्कृतिक संदर्भ। साहित्य में, किसी दिए गए संस्कृति के तत्वों को शामिल करना लुभावना है, और यह भी पुस्तक को समृद्ध बनाता है और कभी-कभी पढ़ने के लिए अधिक दिलचस्प होता है।
हालाँकि, कोड दुनिया भर के डेवलपर्स को संबोधित किया गया है। इसलिए, जो एक इतालवी डेवलपर के लिए एक स्पष्ट संदर्भ है वह एक रूसी के लिए स्पष्ट नहीं हो सकता है, और जो हर भारतीय लड़का या लड़की जानता है, जरूरी नहीं कि वह एक अमेरिकी प्रोग्रामर द्वारा जाना जा सकता है।
वही उपयोगकर्ता जो सुई और घास के ढेर के बारे में बात करते थे, उन्होंने इस तरह के सांस्कृतिक संदर्भ का एक उत्कृष्ट उदाहरण दिया: द ग्रिल। कौन नहीं जानता कि ग्रेग क्या है? ठीक है, मेरा मतलब है, यह फ्रेंच में "ग्रेगल", स्पेनिश में "Grial" और तुर्की में ... "कुटल कासे" है, लेकिन फिर भी। हालाँकि, अमेरिकी या यूरोपीय डेवलपर्स चीन या भारत के मध्ययुगीन इतिहास को कितना जानते हैं? कोई भी यह क्यों मान लेगा कि हर चीनी और भारतीय प्रोग्रामर को पवित्र कंघी बनानेवाले की रेती पता है?
2. एक्सप्रेसिव सोर्स कोड लिखने के लिए पाठ? ज़रूर।
किसी भी डेवलपर को एक्सप्रेसिव सोर्स कोड लिखना सीखना चाहिए।
किसी भी डेवलपर को यह बताना चाहिए कि टिप्पणी में क्यों:
int j = i + 1; // Creating i and adding 1 to it.
बुरा है, यहां तक कि इस तथ्य को भी कि यह पूरी तरह से गलत है।
किसी भी डेवलपर को मूल रीफैक्टरिंग को समझने में सक्षम होना चाहिए और यह स्रोत कोड को अधिक अभिव्यंजक बनाने में कैसे मदद करता है।
किसी भी डेवलपर को याद रखना चाहिए कि 20% समय कोड विकसित करने में खर्च होता है, और 80% समय इसे बनाए रखने में। कुछ परियोजनाओं के लिए, यह 5% - 95% की तरह है।
आदि।
संक्षेप में, प्रोग्रामिंग तकनीकी दस्तावेज के करीब है। क्या एक व्यक्ति जो बोल्ट के लिए एक विशेष पत्र लिखता है उसे लेखन सबक लेने की आवश्यकता है? ज़रुरी नहीं। डेवलपर्स के लिए भी यही बात लागू होती है। किसी को भी हर शब्द में वर्तनी की गलतियाँ किए बिना लिखना चाहिए, और किसी को भी अपने विचारों को स्पष्ट रूप से पर्याप्त रूप से संवाद करने में सक्षम होना चाहिए। इसके अलावा, मुझे यकीन नहीं है कि पाठ लिखना किस तरह से अधिक उपयोगी होगा, आइए हम बताते हैं कि कंप्यूटर विज्ञान में या आईटी सुरक्षा या जो भी हो।
सोर्स कोड की स्पष्टता को अन्य माध्यमों से सीखा जा सकता है। सुपरएम ने अपने जवाब में उनमें से एक का उल्लेख किया : अच्छा कोड पढ़ना। मैं कुछ अन्य लोगों का उल्लेख कर सकता हूं:
ब्यूटीफुल कोड या कोड कम्प्लीट, जैसे किताबें पढ़ना
अपने कोड की समीक्षा करने के लिए एक अधिक अनुभवी डेवलपर से पूछें,
पैटर्न को समझना और उनका उपयोग कैसे और कब करना है।