मैं एक विशाल परियोजना पर काम कर रहा हूं और हमने सभी कोड प्रति पंक्ति 80 वर्णों के अनुरूप बनाने का निर्णय लिया है। यह रूबी के लिए सी के लिए रैपर के साथ एक गहरे लाल रंग का आधारित परियोजना है, मैं और Rubocop उपयोग करने का फैसला कमांड के साथ:लाइब्रेरी में ऑटो-सही लाइन लम्बाई
rubocop --only LineLength
मैं 1,714 त्रुटियों, जहां लाइन की लंबाई से अधिक 80 अक्षर था मिल गया। इसके अलावा, रूबोकॉप द्वारा कई अन्य त्रुटियों का पता चला है जिन्हें मैं अभी अनदेखा करना चाहता हूं।
मैं सी और रूबी दोनों में 80 वर्ण सीमा को पूरा करने के लिए सभी लाइन लंबाई उल्लंघन केवल को स्वत: सुधारने का सबसे आसान तरीका ढूंढ रहा हूं।
मेरा सुझाव है कि आप पहले सबसे सामान्य कारणों को निर्धारित करने के लिए कोड स्कैन करें जो लाइन 80 वर्णों से अधिक है। अगर कोई मुख्य अपराधी लंबे परिवर्तनीय और विधि नाम है तो मुझे आश्चर्य नहीं होगा। यदि ऐसा है, तो आप केवल उन तारों को छोटा करके "लंबी" रेखाओं (> 80 वर्ण) की संख्या को कम करने में सक्षम हो सकते हैं। "मीरली" शायद सही शब्द नहीं है, क्योंकि यह कोई आसान काम नहीं है। आपको रूबी के अंतर्निर्मित तरीकों के साथ-साथ कुछ उद्धृत तारों के नामों को छोटा करने से बचने की आवश्यकता है। (मैं "कुछ" कहता हूं क्योंकि आप एक विधि 'डीआईटी' परिभाषित कर सकते हैं और फिर इसे स्ट्रिंग के रूप में संदर्भित कर सकते हैं: 'एस्ेंड ("डॉट") '।) ... –
... आप अपने कोड स्कैनिन से शुरू कर सकते हैं स्ट्रिंग्स के लिए जिन्हें आप सरणी 'arr' में डाल देंगे, फिर 'arr.uniq! .ॉर्ट!'। इसके बाद आगे बढ़ें और स्ट्रिंग को हटा दें जो स्पष्ट रूप से छोटा नहीं किया जा सकता है।फिर एक हैश बनाएं जो प्रत्येक स्ट्रिंग को स्वयं ही मैप करें, फिर मैन्युअल रूप से प्रत्येक मान को कुछ छोटे लेकिन अभी भी सार्थक में संशोधित करें। पुष्टि करने के बाद हैश में कोई डुप्लिकेट मान नहीं है, कोड में स्ट्रिंग को छोटा करने के लिए हैश का उपयोग करें ... –
... इसके अतिरिक्त, ऐसे स्थान हैं जहां आप सुरक्षित रूप से लाइनों को तोड़ सकते हैं, जैसे ब्लॉक चर के आसपास लंबवत पाइप के बाद, कॉमा जो उद्धृत तारों के भीतर नहीं हैं, और इसी तरह। आप इसके लिए नियमित अभिव्यक्तियों का उपयोग कर सकते हैं। शुभकामनाएँ! आपके समाप्त होने के बाद, कृपया एक संपादन के साथ रिपोर्ट करें जो बताती है कि आपने क्या किया और आपके सामने आने वाली किसी भी समस्या का सामना करना पड़ा। यह विशेष रूप से दिलचस्प होगा यदि आप उपयोग की जाने वाली प्रत्येक तकनीक द्वारा प्राप्त लंबी लाइनों में प्रतिशत कटौती की रिपोर्ट करते हैं। यदि आप ऐसा करते हैं, तो कृपया मुझे एक टिप्पणी में बताएं। –