पाठ्यक्रम का उत्तर कई कारकों पर निर्भर हो सकता है, लेकिन अगर हम सही, अच्छे स्वरूपित सादे पाठ कोड के साथ शुरू करते हैं , तो कोई व्यक्ति यहां चीजों को कम या ज्यादा कर सकता है।
स्रोत पाठ में प्रारंभिक 'फ़ॉर्मेटिंग' होगी:
न्यूलाइन , स्पेस और टैब वर्ण। ध्यान दें कि नई लाइन और मैनुअल लाइन ब्रेक (डीटीपी सॉफ्टवेयर में) एक ही चीज नहीं है, और इसके विपरीत, कुछ दुर्लभ भाषाएं
अन्य स्वरूपण वर्णों की अनुमति दे सकती हैं , हालांकि मैंने ऐसा कभी नहीं सुना है।
टिप्पणियाँ कोड का निष्पादन योग्य हिस्सा नहीं हैं, इसलिए उन पर बहुत अधिक जोखिम के बिना सुधार किया जा सकता है, अगर कोई जानता है कि क्या यह वास्तव में एक टिप्पणी है। तो सबसे पहले देखने वाली बात है कि टिप्पणियों को कैसे टैग किया जाता है।
प्रारंभिक प्लेनटेक्स्ट स्वरूपण के बारे में कुछ मूल बातें जानना अच्छा है। जैसे, पायथन के लिए, PEP8 स्टाइल गाइड है । जबकि पायथन के लिए बनाया गया है, इस स्वरूपण गाइड का उपयोग सी / सी ++ और जावा जैसी प्रमुख भाषाओं के लिए एक संदर्भ के रूप में किया जा सकता है। विभिन्न उदाहरण परियोजनाओं को देखते हुए संदेह होने पर मदद मिल सकती है।
इस प्रकार, पहला सिद्धांत यह होगा: स्रोत पाठ को न बदलें।
मैं एक चेकलिस्ट से गुजरूंगा - सुनिश्चित करें कि:
- कोई भी चरित्र ऑटोरप्लसिंग किसी भी अवस्था में नहीं होता है।
- पाठ का कोई संपादन नहीं किया जाता है (जब तक कि आप 100% सुनिश्चित नहीं हो जाते कि उन्हें किया जाना चाहिए)।
- कोई रेखा नहीं दिखाई देती है।
- इंडेंटेशन नेत्रहीन संरक्षित होते हैं और सुसंगत होते हैं (ca. चार x चौड़ाई प्रति स्तर इंडेंटेशन)।
- प्रारंभिक (शून्य) इंडेंट स्तर दिखाई देना चाहिए।
- परिभाषित शैली सिंटैक्स के स्वरूपण को नष्ट नहीं करती है (यदि सिंटैक्स हाइलाइटिंग का उपयोग किया जाता है)।
- सादे पाठ में स्रोत का बैकअप रखें, ताकि मूल स्वरूपण को पुन: जाँचने या नए सिरे से शुरू करने में सक्षम हो सकें।
- पंक्ति संख्या, यदि मौजूद है, तो विशेष रूप से बरकरार होनी चाहिए, यदि उन्हें स्पष्टीकरण में संदर्भित किया गया हो।
वास्तव में यदि मूल स्रोत को ठीक से स्वरूपित किया गया है, तो कोई भी रेखा नहीं होनी चाहिए। यदि लिपटे हुए रेखाएं अभी भी दिखाई देती हैं और अपरिहार्य हैं, तो एक-स्तरीय हैंगिंग इंडेंट सबसे आम समाधान है (लिंक किए गए पीईपी से ऊपर देखें)। यदि लाइन ब्रेकिंग आवश्यक है - स्टाइल गाइड या लेखक से बेहतर परामर्श करें।
अभी भी कुछ छोटे 'सफेद अंतरिक्ष' पात्रों को प्रतिस्थापन की आवश्यकता हो सकती है। चूंकि स्रोत में टैब वर्ण शामिल हो सकते हैं, इसका मतलब यह है कि टाइपसेट को यह सुनिश्चित करना होगा कि प्रत्येक पंक्ति की शुरुआत में सभी टैब सुसंगत हैं, अर्थात नेस्टेड इंडेंटेशन नेत्रहीन संरक्षित किए जाते हैं और हर अगले इंडेंटेशन समान चौड़ाई (सीए) चार x है चौड़ाई प्रति इंडेंटेशन के स्तर पर)।
आदर्श रूप से, जो इंडेंटेशन स्पेस कैरेक्टर या मिश्रित स्पेस और टैब के साथ किए गए थे, उन्हें टेबुलेशन (या डीटीपी सॉफ्टवेयर नेस्टेड इंडेंटेशन के लिए बेहतर कर सकते हैं) के साथ प्रतिस्थापित किया जाना चाहिए, इसलिए, यदि आवश्यक हो, तो इंडेंटेशन को समायोजित करना आसान हो सकता है।
बेशक कोई रिक्त स्थान छोड़ सकता है, लेकिन फ़ॉन्ट को बदलते समय उनकी चौड़ाई को प्रबंधित करना कठिन हो सकता है और टेबल कॉलम की तरह इनर-लाइन इंडेंटेशन को संरेखित करना कठिन हो सकता है।
मोनोस्पॉन्टेड फ़ॉन्ट + स्थान
ध्यान दें कि यदि स्रोत जानबूझकर रिक्त स्थान के साथ स्वरूपित किया गया है और केवल मोनोपॉज फ़ॉन्ट में पढ़ा जाना था, (उदाहरण के लिए ASCII- आरेख या ASCII- कला), तो रिक्त स्थान को पूरी तरह से अपरिवर्तित रखना चाहिए, लेकिन यह निर्णय शुरुआत से ही किया जाना चाहिए। इस मामले के लिए "कूरियर न्यू" फ़ॉन्ट सबसे आम है। फिर भी अगर वास्तव में ज़रूरत नहीं है, तो मैं मोनोस्पाज़ के खिलाफ सलाह देता हूं, क्योंकि कम और कम नए लोग आज कोडिंग के लिए मोनोस्पेस चुनते हैं, और प्रूफरीडिंग के मामले में, आनुपातिक फोंट बेहतर पढ़ने का अनुभव देंगे।
सामान्य तौर पर, गाढ़ा (जैसे एरियल संकीर्ण) या छोटे फोंट बेहतर काम कर सकते हैं: यह शरीर के पाठ के विपरीत अधिक जोर देता है, यह कोड को अधिक कॉम्पैक्ट बना देगा, और इस तरह कम संभावना है कि अवांछित लाइन रैपिंग दिखाई देगी।
मुझे लगता है कि यहां कोई एक रेखा खींच सकता है, और यदि ऊपर किया गया है, तो 99% संभावना है कि सब कुछ ठीक होना चाहिए, कम से कम रंगों के बिना एक सादे एकल-फ़ॉन्ट कोड ब्लॉक के लिए।
उपकरण और उन्नत स्वरूपण
इसके अलावा, सिंटैक्स हाइलाइटिंग का उपयोग करके लुक को काफी बेहतर बनाया जा सकता है।
रंग प्रिंट या स्क्रीन देखना: एक पूर्ण-रंग लेआउट में हाइलाइटिंग की प्रत्येक सुविधा का उपयोग किया जा सकता है, इसलिए यह सबसे अच्छा मामला है, लेकिन मुद्रण कुछ रंग परिवर्तन दे सकता है।
ग्रेस्केल या बी / डब्ल्यू प्रिंट: यहाँ निश्चित रूप से बोल्ड (जैसे कीवर्ड) या इटैलिक (उदाहरण टिप्पणियाँ) का उपयोग किया जा सकता है, लेकिन ध्यान दें कि रंग सभी परिणामों के साथ ग्रे में परिवर्तित हो जाएंगे। उदाहरण के लिए धूसर-बाहर की टिप्पणियां एक प्रदर्शन पर बहुत अच्छी लग सकती हैं, लेकिन कागज पर बहुत अधिक पीला हो सकती हैं।
सबसे महत्वपूर्ण प्रश्न यह है कि क्या लेआउट निर्माता के पास ऐसे उपकरण हैं जो पठनीय रूप में कोड का प्रतिनिधित्व कर सकते हैं। सौभाग्य से, कोड संपादन के लिए बहुत सारे मुफ्त टूल हैं, जिनमें से सबसे प्रमुख (विंडोज के लिए) हैं: नोटपैड ++, वीएसकोड, विजुअल स्टूडियो । लेकिन यद्यपि स्थानों पर टैब के संभावित निहित ऑटो-रूपांतरणों से अवगत रहें।
नोटपैड ++ में आरटीएफ के रूप में कोड को निर्यात करने का एक विकल्प है , जो स्रोत के सभी स्वरूपण और वाक्यविन्यास हाइलाइटिंग को संरक्षित करेगा।
यदि कोड प्रस्तुति में लेआउट को पाठ प्रवाह को बदलने की आवश्यकता नहीं है, तो कोई सीधे छवियों (स्क्रीनशॉट) का उपयोग कर सकता है - यह पाठ के रूप में इतना लचीला नहीं है, लेकिन 100% स्वरूपण और लाइन नंबरिंग को संरक्षित करेगा, और बहुत समय बचा सकता है। टेक्स्ट फॉर्म में संरक्षित करने के लिए ईजी लाइन नंबर मुश्किल हो सकते हैं। पीडीएफ को निर्यात करना भी एक अच्छा विकल्प है - लेकिन सभी डीटीपी सॉफ्टवेयर पीडीएफ को एम्बेड नहीं कर सकते हैं और पीडीएफ को प्रिंट करते समय कुछ स्वरूपण खो सकते हैं।
उदाहरण के लिए, नोटपैड ++ में पायथन कोड के लिए मेरा सेटअप इस तरह दिखता है:
यह केवल उदाहरण के लिए है, कि कोई सीधे स्क्रीनशॉट का उपयोग कर सकता है और यह वास्तव में सबसे आसान तरीका हो सकता है। विभिन्न उपकरण हैं जो स्क्रीन कैप्चरिंग में मदद कर सकते हैं - उच्च रिज़ॉल्यूशन छवियों के लिए स्क्रीन को 'सिलाई' करने की आवश्यकता हो सकती है।
रंग योजना निश्चित रूप से अलग-अलग है, संपादक के शैली विन्यासकर्ता में परिभाषित है, जो पहले से ही समर्थित भाषा से अवगत है, इस प्रकार यह गलत स्वरूपण करना कठिन बना देता है, भले ही कोई वाक्यविन्यास न जानता हो। यहां सामान्य टाइपोग्राफी नियमों को काम करना चाहिए: बहुत सारे रंग नहीं, लगातार फोंट, इंडेंटेशन, आरामदायक लाइन रिक्ति।
कस्टम भाषा परिभाषाओं के लिए अतिरिक्त उपकरण / प्लगइन्स भी आम हैं, लेकिन उन्हें वाक्यविन्यास ज्ञान की आवश्यकता होती है।