'अनुशंसित' फ़ाइल की लंबाई और लाइन की चौड़ाई [बंद]


9

अगर किसी को किसी दिए गए फ़ाइल के लिए कोड की लाइनों की अधिकतम संख्या के लिए एक प्रतिष्ठित स्रोत से सिफारिश का पता था, तो मैं उत्सुक था। उदाहरण के लिए, Google का क्लोजर लाइनर अनुशंसा करता है कि प्रत्येक पंक्ति 80 वर्णों से अधिक नहीं होनी चाहिए।


आपका उदाहरण प्रश्न के साथ असंगत है। आपका प्रश्न प्रति फ़ाइल लाइनों के बारे में पूछता है और आपका उदाहरण प्रति पंक्ति वर्ण है।
जेसन एस

2
यह एक ही अवधारणा है - जिस वर्ग क्षेत्र में आपको चारों ओर स्क्रॉल करना है, चाहे वह क्षैतिज हो या ऊर्ध्वाधर।
डेविन जी रोड

जवाबों:


11

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

एक बुनियादी कोड ब्लॉक के लिए एक अच्छा आकार काफी कम है, दोनों चौड़ाई और ऊंचाई में, कि आप एक समूह कोड समीक्षा के दौरान इसकी हिम्मत को प्रोजेक्ट कर सकते हैं, और क्या यह सब फ़ॉन्ट के बिना इतना छोटा है कि पीछे के आदमी में फिट बैठता है सम्मेलन कक्ष इसे पढ़ नहीं सकता। यह आकार तब भी मदद करता है जब आपको कभी किसी कोड को समझाने के लिए बुलाया जाता है, जब आपके पास एक मोबाइल डिवाइस या टैबलेट होता है।


यह सबसे उपयोगी दिशानिर्देश है, बहुत बहुत धन्यवाद!
डेविन जी रोड 13

क्या कोई फ़ाइल की लंबाई बहुत छोटी है ? मेरे पास ~ 200 लाइनों की औसत लंबाई के साथ 35 फाइलों के साथ एक परियोजना है।
दान

1
@ मैं जवाब के रूप में "नहीं" उद्यम करूंगा। यदि कोई फ़ाइल खोलना आपके सेटअप में बहुत कठिन है, तो शायद आपके सेटअप में सुधार करने का समय आ जाए (यानी वीआईएम प्लगइन्स, बेहतर आईडीई, जो कुछ भी एमएसीएस करता है)
माइक ग्रेफ

@ दान: एक फ़ाइल बहुत कम? संभव है अगर आप कुछ LOC के लिए सही छोटी फ़ाइल की खोज में अधिक समय व्यतीत करें बजाय उन्हें कुछ तार्किक और निकटता से संबंधित (लेकिन बहुत लंबा नहीं) फ़ाइल में खोजने के।
हॉटपावर 2

9

ऐसी कोई बात नहीं है, और अगर वहाँ था, तो यह अत्यधिक निर्भर करेगा कि आप किस भाषा का उपयोग कर रहे हैं (उदाहरण के लिए कोडांतरक बनाम सी # या जावा में एक ही चीज़ कर रहे हैं)।

उच्च स्तरीय भाषाओं के लिए, आप इस SO चर्चा को देख सकते हैं । जावा / सी # के लिए, प्रति विधि 10-20 लाइनें बॉब मार्टिन अधिकतम के रूप में सुझाती हैं। फ़ाइलों के संबंध में कोई चर्चा नहीं है, क्योंकि यह प्रासंगिक नहीं है और इस पर निर्भर करता है कि वर्ग को क्या करना चाहिए।

प्रति पंक्ति सीमा 80 वर्णों के संबंध में - यह पंच कार्ड के दिनों के लिए एक कमबैक है। कहा जाता है कि, जब रेखाएं बहुत लंबी हो जाती हैं, तो पठनीयता ग्रस्त हो जाती है।


5
+1: लाइनों को 80 चरों से कम चौड़ा रखना अच्छा है; पढ़ने के लिए आसान और साइड विंडो के लिए अधिक कमरे देता है
डोनाल्ड फेलो

6
व्यक्तिगत रूप से, मुझे लगता है कि पठनीयता तब प्रभावित होती है जब कोई रेखा 80 या उससे कम में फिट होने के लिए कई लाइनों में बँधी हो। वहाँ भी समय बर्बाद करने का निर्णय लेने के लिए जहां ब्रेक बनाने के लिए, या उस मामले के बारे में बहस कर रहा है।
ergosys

5

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

लंबी फाइलें संकेत देती हैं कि विधियाँ, सबरूटीन्स या कक्षाएं अत्यधिक जटिल हैं (बहुत अधिक चीजें करना, पर्याप्त रूप से फैक्टरिंग नहीं करना, आदि)

लंबी लाइनें इंगित करती हैं कि अभिव्यक्ति अत्यधिक जटिल हैं।

वे बदबू आ रही है जो एक संभावित कोड समस्या को इंगित करते हैं, न कि परिभाषित लक्ष्य मैट्रिक्स।


3

लाइन की लंबाई ऐसी होनी चाहिए कि आपको पूरी लाइन देखने के लिए स्क्रीन स्क्रॉल न करना पड़े। यह मॉनिटर के आकार और रिज़ॉल्यूशन पर निर्भर करता है।

एक स्क्रीन फिट कर सकते हैं अगर तरीके और कार्य सबसे अच्छा है।

फाइलें बहुत लंबी नहीं होनी चाहिए। सर्वश्रेष्ठ लघु फाइलें हैं, जहां कक्षा को समझना आसान है, और कार्यान्वयन।
एक बार मैंने एक प्रोजेक्ट पर काम किया जिसमें 10 केलाइन फाइल थी। यह एक बहुत ही जटिल किताब को पढ़ने जैसा था। क्या मुझे यह बताने की आवश्यकता है कि कार्यान्वयन में कितनी समस्याएं हैं?


कोड को छोटे फ़ॉन्ट बड़े मॉनिटर सेटअप की आवश्यकता नहीं होनी चाहिए, विशेष रूप से समूह कोड समीक्षाओं के लिए।
हॉटपावर 2

"लाइन की लंबाई ऐसी होनी चाहिए कि आपको पूरी लाइन देखने के लिए स्क्रीन को स्क्रॉल न करना पड़े।" - क्या होगा यदि आपका संपादक लपेटता है?
दान डस्केलस्कु

3

80 अक्षर!

मुझे याद है कि जब मैं COBOL करता था, तो मुझे लगभग more० पृष्ठों और उससे अधिक के बिलिंग कार्यक्रमों के लिए स्रोत कोड फाइलें दिखाई देती थीं। बेशक, मैं यह नहीं देख सकता कि यह सामान्य अभ्यास के पास है लेकिन 80 वर्ण समान रूप से हास्यास्पद है।

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


1
पूर्ण रूप से। 80 वर्णों का मतलब है कि आप पोर्ट्रेट ए 4 / लेटर शीट पर एक उचित फ़ॉन्ट आकार में विचार-मंथन के लिए एक खंड का प्रिंट आउट ले सकते हैं। इसका मतलब यह भी है कि एक उचित विकास कंप्यूटर मॉनीटर पर, आप तीन-तरफा मर्ज करने के लिए क्षैतिज स्क्रॉलिंग के बिना स्रोत कोड की तीन प्रतियाँ देख सकते हैं (मजेदार है कि 80x8x3 1920 * 8 'है)।
मार्क बूथ

2

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


मैं 22 "मॉनिटर को लंबवत रूप से फ़्लिप करता हूं, जो मुझे प्रत्येक स्क्रीन पर 1080 पिक्सेल देता है (और लंबवत रूप से, मेरे पास एक समय में कोड की 104 लाइनें दिखाई दे सकती हैं!) 90 या उससे कम वर्णों की लाइन चौड़ाई रखना इस तरह के परिदृश्यों में सहायक होता है।
रॉय टिंकर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.