क्या एक प्रोग्रामर को कोड एक्सप्रेसिटी बढ़ाने के लिए राइटिंग सबक लेना चाहिए?


15

यह देखते हुए कि प्रोग्रामर लेखक हैं और अमूर्त विचारों और अवधारणाओं को व्यक्त करने के लिए कोड लिखते हैं, और अच्छे कोड को अन्य प्रोग्रामर को कठिनाइयों और गलतफहमी के बिना पढ़ा जाना चाहिए, एक प्रोग्रामर को बेहतर कोड लिखने के लिए सबक लेना चाहिए?

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

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



2
यह अच्छा होगा यदि लोग 18 वर्ष से अधिक उम्र के बाद स्पष्ट रूप से लिखना सीख सकते हैं, खासकर जब वे एक विदेशी भाषा का उपयोग करते हैं (जैसा कि आईटी में है)। प्रश्न यह है कि क्या कोई शिक्षण पद्धति है जो अपेक्षाकृत कम समय में अच्छे परिणाम प्राप्त कर सकती है। मुझे याद है कि जब मैं पहली बार विश्वविद्यालय में आया था, तो मुझे वैज्ञानिक अंग्रेजी में एक पाठ्यक्रम दिया गया था, मुझे लगता है कि इससे मुझे थोड़ी मदद मिली (हाँ, मैं इससे भी बदतर लिखता था :))।
नोकझोंक

1
"कोड अर्थ" क्या है? मुझे लगता है कि यह एक प्रोग्रामिंग भाषा की अभिव्यंजना के अलावा कुछ है , क्योंकि पाठ लिखने की कोई भी राशि बदलने वाली नहीं है ...
एंड्रेस एफ।

1
blog.codinghorror.com/recommended-reading-for-developers -> कोड पूरा 2 देखें। सबसे अच्छा "कोड को ठीक से कैसे लिखें" मैंने कभी पढ़ा है।
मचाडो 16

1
@JoseFaeti तो आप किताबों में एक अच्छा स्वाद है, सर। :-) अंतहीन पेज चर्चा कर रहे हैं कि कैसे सही ढंग से "यदि" कथन लिखना है? मुझे गिनती। :-)
मचाडो

जवाबों:


25

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% की तरह है।

  • आदि।


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

सोर्स कोड की स्पष्टता को अन्य माध्यमों से सीखा जा सकता है। सुपरएम ने अपने जवाब में उनमें से एक का उल्लेख किया : अच्छा कोड पढ़ना। मैं कुछ अन्य लोगों का उल्लेख कर सकता हूं:

  • ब्यूटीफुल कोड या कोड कम्प्लीट, जैसे किताबें पढ़ना

  • अपने कोड की समीक्षा करने के लिए एक अधिक अनुभवी डेवलपर से पूछें,

  • पैटर्न को समझना और उनका उपयोग कैसे और कब करना है।


+1 अच्छा जवाब। अभिव्यंजक और संक्षिप्त होना बहुत महत्वपूर्ण है, लेकिन पाठ लिखना प्रशिक्षण समय का सबसे अच्छा उपयोग नहीं हो सकता है। स्पष्ट रूप से स्पष्ट रूप से लिखने का प्रयास करते हुए, आत्म-वर्णन कोड कुछ ऐसा है जो हर किसी को करना चाहिए, और मुझे लगता है कि बाकी बस वास्तविक पाठों की आवश्यकता के बिना जगह में आते हैं।
डैनियल बी

प्रलेखन, ई-मेल, ... साथ ही कोड - अपने सहकर्मियों, मालिकों, उपयोगकर्ताओं, भविष्य के स्वयं आदि के साथ संवाद करने का लिखित हिस्सा है, लेकिन कृपया, कोई कविता नहीं।
स्टीव 314

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

आम तौर पर अच्छा जवाब, लेकिन मैंने कोड में भाषण के आंकड़े देखे हैं। उदाहरण के लिए, PHP की कुछ अच्छी विशेषताओं में से एक यह है कि इसके सभी खोज / खोज फ़ंक्शंस haystacks में सुइयों की तलाश करते हैं।
user949300

@ user949300: और यह उन कारणों में से एक है जिनसे मुझे PHP से बहुत नफरत है। एक गैर-देशी अंग्रेजी वक्ता के रूप में, मैं संबंधित अभिव्यक्ति को नहीं जानता था, और मेरे लिए, वे शब्द सभी लेकिन सहायक थे। इसकी तुलना C # के sequence.Contains(element)या उत्कृष्ट पायथन से करें element in sequence। तो, नहीं, भाषण के आंकड़ों का एपीआई में कोई स्थान नहीं है।
आर्सेनी मूरज़ेंको

11

क्या एक प्रोग्रामर को बेहतर कोड लिखने के लिए सबक लेना चाहिए?

नहीं। एक प्रोग्रामर को बेहतर गद्य लिखना सीखने के लिए लेखन पाठ लेना चाहिए। एक प्रोग्रामर को बेहतर कोड लिखने के लिए सीखने के लिए प्रोग्रामिंग सबक लेना चाहिए। कुछ समानताओं के बावजूद, लेखन गद्य और लेखन कोड काफी अलग हैं।

यह कहना नहीं है कि प्रोग्रामर को लेखन कक्षाएं नहीं लेनी चाहिए। वे चाहिए! कुछ कारणों से:

  • किसी भी शिक्षित व्यक्ति के लिए लेखन एक आवश्यक कौशल है। यदि आप अच्छी तरह से लिख सकते हैं तो आप अधिक स्मार्ट लगेंगे।

  • अपने सर्वोत्तम प्रयासों के बावजूद, प्रोग्रामर को अक्सर लिखित शब्दों का उपयोग करते हुए, अक्सर अन्य मनुष्यों के साथ संवाद करने की आवश्यकता होती है।

  • आप लेखन कक्षाओं में लिखने से परे कौशल सीखते हैं, और वे अक्सर प्रोग्रामर के लिए उपयोगी होते हैं। उदाहरण के लिए, आप अपनी भावनाओं को आहत किए बिना अन्य लोगों के काम के बारे में चर्चा करना सीखेंगे, और आप व्यक्तिगत रूप से इसे लिए बिना दूसरों से आलोचना स्वीकार करना सीखेंगे।


यही तो बात है। यहां तक ​​कि अगर आपका कोड आवश्यक रूप से बेहतर नहीं होगा, तो आप एक बेहतर व्यक्ति बन जाएंगे, खासकर अन्य प्रोग्रामर या सहकर्मियों के साथ संवाद करने में। मुझे लगता है कि मेरे प्रश्न को अलग तरीके से तैयार किया जाना चाहिए था :)
जोस फेटी

2
बहुत बहुत यह। गद्य को अच्छी तरह से लिखने में सक्षम होना किसी भी पेशेवर के लिए एक महत्वपूर्ण कौशल है
Zachary K

6

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

अभिव्यक्ति की साहित्यिक धारणा अभिव्यक्ति की प्रोग्रामिंग धारणा के समान नहीं है। कई मामलों में, भाषा में अस्पष्टता को साहित्यिक उपकरण के रूप में इस्तेमाल किया जा सकता है, यहां तक ​​कि नॉन-फिक्शन में भी, एक ऐसे रूप में, जो अभिव्यक्ति को बढ़ाता है, क्योंकि यह पाठक में विभिन्न सांस्कृतिक, भाषाई और प्रतीकात्मक संघों को ट्रिगर करेगा, जिसका उद्देश्य और उद्देश्य दोनों थे। प्रोग्रामिंग में इस तरह की अभिव्यक्ति वांछनीय नहीं है; अस्पष्टता अस्पष्टता की तुलना में अधिक मूल्यवान है। प्रोग्रामिंग में, अमूर्तता से संज्ञानात्मक भार की कुछ लागत के साथ लचीलापन बढ़ जाता है। साहित्यिक रूप में अमूर्तता का प्रभाव प्रोग्रामिंग में होने वाले प्रभाव के विपरीत हो सकता है: आपके लेखन में जितना अधिक अमूर्त होगा, पाठक के पास यह संभावना अधिक होगी कि आप कुछ भी नहीं कह रहे हैं। उन सभी प्रतीकों और संघों जो ठोस भाषण से उत्पन्न होते हैं, का मूल्य होता है,

हालांकि, एक प्रोग्रामर एक मशीन नहीं है। बौद्धिक और भावनात्मक वृद्धि से मनुष्य अक्सर अप्रत्याशित तरीकों से लाभान्वित होता है। अपने लेखन में सुधार से अधिक ग्राहक सहानुभूति हो सकती है क्योंकि आप अपने आप को संचार चुनौतियों से जूझने के लिए मजबूर करते हैं; शायद आप उस ग्राहक के लिए महसूस करेंगे जो कहता है कि वे क्या चाहते हैं, फिर आप इसे वितरित करते हैं और उन्हें पता चलता है कि यह उनकी ज़रूरत नहीं है। शायद आप केवल इस बात पर ध्यान केंद्रित करना सीखेंगे कि क्या बचे हुए हैं।

हो सकता है कि मिट्टी के बर्तनों के पहिये पर मिट्टी फेंकना सीखने से आपको शिल्प कौशल और सॉफ्टवेयर विकास के बीच समानताएं देखने में मदद मिलेगी। जिस तरह से आर्किटेक्ट का संचार करते हैं, उसका अध्ययन करने से आपको प्रोग्रामिंग में डिजाइन पैटर्न की शब्दावली बनाने के लिए एक मजबूत सराहना मिल सकती है। जीव विज्ञान का अध्ययन आपको आकर्षक अंतर्दृष्टि तक ले जा सकता है कि कैसे चींटियों और मधुमक्खियों को खाद्य स्रोतों के बारे में पता चलता है और संचार होता है और उन तंत्रों का पथफाइंडिंग एल्गोरिदम में कैसे अनुवाद किया जा सकता है।

अपने मुख्य डोमेन से बाहर की चीजें सीखना सार्थक है क्योंकि जिज्ञासु लोग उन लोगों की तुलना में बेहतर डेवलपर बनाते हैं जो नहीं हैं।

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


+1: "मेरा कोड तेजी से व्यापार और तकनीकी टीमों के बीच एक साझा शब्दावली बनाने पर निर्भर करता है।": बहुत महत्वपूर्ण बिंदु! कई कीड़े गलतफहमी से उत्पन्न होते हैं क्योंकि विश्लेषकों और डेवलपर्स दो अलग-अलग चीजों के लिए एक निश्चित शब्द का उपयोग करते हैं।
जियोर्जियो

4

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

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


धन्यवाद, मैं अपनी पूरी कोशिश कर रहा हूँ! वास्तव में, मैं उस बिंदु पर पहुंच गया जहां कोडिंग करते समय एक सामान्य प्रयोजन प्रोग्रामिंग भाषा का वाक्य विन्यास खुद को व्यक्त करने के लिए पर्याप्त नहीं है। मैं अब भाषा सिंटैक्स को बढ़ाने के लिए प्रीप्रोसेसर टूल्स का प्रोग्रामिंग कर रहा हूं, और डोमेन-विशिष्ट भाषाओं को उसी मामले के लिए लागू कर रहा हूं, जो शायद एक सामान्य प्रयोजन प्रोग्रामिंग भाषा में स्पष्टता को मजबूर करने की कोशिश से बेहतर है।
जोस फेटी

3

जैसे दुनिया के शास्त्रीयों को पढ़कर लेखकों को पढ़ाया जाता है, वैसे ही अच्छे कोड को पढ़कर प्रोग्रामर शिक्षित होते हैं । लेकिन एक छोटी समस्या है। जबकि साहित्य में मान्यता प्राप्त दिग्गज हैं, प्रोग्रामिंग में उनमें से कुछ हैं। और अगर वहाँ हैं, तो वे एक अलग भाषा "बोल" सकते हैं। (मुझे भी यकीन नहीं है कि Tanenbaum द्वारा Minix स्रोत कोड पढ़ने की सलाह देना उचित है)

कोड को अधिक पठनीय (=> बनाए रखने योग्य) बनाने के लिए कई लोकप्रिय तरीके हैं, जैसे टिप्पणी लिखना, सार्थक नाम देना, आदि। इसके अलावा, कई कंपनियां अपने कोड लिखने के नियमों को स्थापित करती हैं, और यह सब कुछ बहुत आसान बना देता है।

वैसे भी, कई उत्कृष्ट लेखकों की तरह, प्रोग्रामर कभी भी अपने कोड से खुश नहीं होते हैं। इसलिए यह जानना कि गुणवत्ता कोड लिखना कितना महत्वपूर्ण है।


2

मैं हमेशा आपके द्वारा लिखे गए प्रत्येक कोड के बाद बस रुक जाना और यह पढ़ लेना, यह कल्पना करना कि आपने इसे पहले कभी नहीं देखा है, मुझे इसके लिए एक लंबा रास्ता तय करना है।

इससे भी बेहतर यह है कि आप उस मित्र से पूछें, जो आपके कोड को बिना बताए पढ़ने के लिए प्रोग्रामिंग से परिचित है।


0

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

और ध्यान दें कि "पठनीय" कोड व्यक्तिपरक है, और मुख्य रूप से वाक्यविन्यास शैली और सामान्य मुहावरों का मामला है (जो भाषाओं और टीमों के बीच भी भिन्न होता है)

हालांकि, चर और वर्गों और विधियों के लिए अच्छे नाम चुनना महत्वपूर्ण है। प्रत्येक डेवलपर कुछ हद तक, विकास के तहत डोमेन के कुछ पहलुओं में विषय-विषय विशेषज्ञ होता है, इसलिए डोमेन शब्दावली का सही उपयोग महत्वपूर्ण है।

सहकर्मी समीक्षा शब्दावली और आत्मविश्वास बनाने में आपकी मदद कर सकती है


0

कोड लिखने और गद्य लिखने के बीच निश्चित रूप से एक बड़ा अंतर है।

गद्य में वाक्य समय से जुड़े (या अलग) होते हैं (जिस तरह से वे एक दूसरे का अनुसरण करते हैं ताकि अंत या अर्थ तक पहुंच सकें) लेकिन (कुशल) कोड में आप (कहानी) के कुछ हिस्सों को दोहराए जाने वाले तालिकाओं से लोड कर सकते हैं। कार्यों / प्रतिक्रियाओं। तो, पाठक (गद्य में) या उपयोगकर्ता (कोड का) के साथ बातचीत पूरी तरह से अलग है।

दूसरे तरीके से 'अच्छा' गद्य लिखना और 'अच्छा' कोड लिखना समान है: लिखना सीखना (कोड या गद्य) एक ऐसी प्रक्रिया है जिसमें बहुत सारी गलतियाँ (या सुधार के बारे में सोच / परीक्षण, या सुधार करना) शामिल हैं। सुरुचिपूर्ण '।

मुझे लगता है कि तत्वों की रासायनिक आवधिक प्रणाली सुरुचिपूर्ण है, क्योंकि बहुत कॉम्पैक्ट तरीके से यह हमारे द्वारा उपयोग की जाने वाली बुनियादी सामग्रियों के कुछ मौलिक गुणों का वर्णन करता है, कुशल कोड जैसा है लेकिन यह निश्चित रूप से गद्य नहीं है। एक चुटकुला में बहुत सारे गद्य गुण हैं (आपको एक निश्चित मनोदशा में ले जाना, उस मनोदशा को बनाए रखना और फिर उसे बदलना, जब अप्रत्याशित हो) लेकिन यह एक अजीब कोडिंग अभ्यास है।

लेकिन दोनों प्रकार के लेखन शिल्प कौशल के लिए पूछते हैं।


-1

मेरे दृष्टिकोण से एक प्रोग्रामर के लिए बुनियादी अंग्रेजी और व्याकरण पर्याप्त है। लेकिन फिर एक नीरस प्रोग्रामिंग दिनचर्या को तोड़ने के लिए कोई भी चीज हमेशा कायाकल्प होगी और इसलिए लेखन सबक प्रोग्रामर्स के लिए आराम होगा।


4
एक नीरस प्रोग्रामिंग दिनचर्या संभवतः पाठ को लिखने की तुलना में करियर संशोधन द्वारा संबोधित किया जाएगा।
एलियट बॉल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.