अगर किसी को किसी दिए गए फ़ाइल के लिए कोड की लाइनों की अधिकतम संख्या के लिए एक प्रतिष्ठित स्रोत से सिफारिश का पता था, तो मैं उत्सुक था। उदाहरण के लिए, Google का क्लोजर लाइनर अनुशंसा करता है कि प्रत्येक पंक्ति 80 वर्णों से अधिक नहीं होनी चाहिए।
अगर किसी को किसी दिए गए फ़ाइल के लिए कोड की लाइनों की अधिकतम संख्या के लिए एक प्रतिष्ठित स्रोत से सिफारिश का पता था, तो मैं उत्सुक था। उदाहरण के लिए, Google का क्लोजर लाइनर अनुशंसा करता है कि प्रत्येक पंक्ति 80 वर्णों से अधिक नहीं होनी चाहिए।
जवाबों:
एक फ़ाइल इतनी कम होनी चाहिए कि आप किसी भी फ़ंक्शन या विधि को बिना स्क्रॉल किए, उसके लिए कई बार शिकार कर सकें, या खोज स्ट्रिंग याद रख सकें। मैं जिस मीट्रिक का उपयोग करता हूं, वह उस समय की मात्रा है जिसे मैं एक फ़ाइल के भीतर कोड की तलाश में खर्च करता हूं। यदि यह ध्यान देने योग्य हो जाता है, तो यह फ़ाइल या कक्षा को पुन: प्रस्तुत करने का समय है।
एक बुनियादी कोड ब्लॉक के लिए एक अच्छा आकार काफी कम है, दोनों चौड़ाई और ऊंचाई में, कि आप एक समूह कोड समीक्षा के दौरान इसकी हिम्मत को प्रोजेक्ट कर सकते हैं, और क्या यह सब फ़ॉन्ट के बिना इतना छोटा है कि पीछे के आदमी में फिट बैठता है सम्मेलन कक्ष इसे पढ़ नहीं सकता। यह आकार तब भी मदद करता है जब आपको कभी किसी कोड को समझाने के लिए बुलाया जाता है, जब आपके पास एक मोबाइल डिवाइस या टैबलेट होता है।
ऐसी कोई बात नहीं है, और अगर वहाँ था, तो यह अत्यधिक निर्भर करेगा कि आप किस भाषा का उपयोग कर रहे हैं (उदाहरण के लिए कोडांतरक बनाम सी # या जावा में एक ही चीज़ कर रहे हैं)।
उच्च स्तरीय भाषाओं के लिए, आप इस SO चर्चा को देख सकते हैं । जावा / सी # के लिए, प्रति विधि 10-20 लाइनें बॉब मार्टिन अधिकतम के रूप में सुझाती हैं। फ़ाइलों के संबंध में कोई चर्चा नहीं है, क्योंकि यह प्रासंगिक नहीं है और इस पर निर्भर करता है कि वर्ग को क्या करना चाहिए।
प्रति पंक्ति सीमा 80 वर्णों के संबंध में - यह पंच कार्ड के दिनों के लिए एक कमबैक है। कहा जाता है कि, जब रेखाएं बहुत लंबी हो जाती हैं, तो पठनीयता ग्रस्त हो जाती है।
फ़ाइल और लाइन की लंबाई जटिलता के माध्यमिक प्रभावों का माप है और जैसे कि अत्यधिक परिवर्तनशील हैं। आपको अनावश्यक जटिलता के बिना कोड के लिए क्या करना चाहिए, यह एक निश्चित अधिकतम पंक्ति गणना है।
लंबी फाइलें संकेत देती हैं कि विधियाँ, सबरूटीन्स या कक्षाएं अत्यधिक जटिल हैं (बहुत अधिक चीजें करना, पर्याप्त रूप से फैक्टरिंग नहीं करना, आदि)
लंबी लाइनें इंगित करती हैं कि अभिव्यक्ति अत्यधिक जटिल हैं।
वे बदबू आ रही है जो एक संभावित कोड समस्या को इंगित करते हैं, न कि परिभाषित लक्ष्य मैट्रिक्स।
लाइन की लंबाई ऐसी होनी चाहिए कि आपको पूरी लाइन देखने के लिए स्क्रीन स्क्रॉल न करना पड़े। यह मॉनिटर के आकार और रिज़ॉल्यूशन पर निर्भर करता है।
एक स्क्रीन फिट कर सकते हैं अगर तरीके और कार्य सबसे अच्छा है।
फाइलें बहुत लंबी नहीं होनी चाहिए। सर्वश्रेष्ठ लघु फाइलें हैं, जहां कक्षा को समझना आसान है, और कार्यान्वयन।
एक बार मैंने एक प्रोजेक्ट पर काम किया जिसमें 10 केलाइन फाइल थी। यह एक बहुत ही जटिल किताब को पढ़ने जैसा था। क्या मुझे यह बताने की आवश्यकता है कि कार्यान्वयन में कितनी समस्याएं हैं?
80 अक्षर!
मुझे याद है कि जब मैं COBOL करता था, तो मुझे लगभग more० पृष्ठों और उससे अधिक के बिलिंग कार्यक्रमों के लिए स्रोत कोड फाइलें दिखाई देती थीं। बेशक, मैं यह नहीं देख सकता कि यह सामान्य अभ्यास के पास है लेकिन 80 वर्ण समान रूप से हास्यास्पद है।
वर्ग आकार के दृष्टिकोण से, यदि आप इस सुझाव को एक विशिष्ट ग्राहक वर्ग पर लागू करने का प्रयास करते हैं, जिसमें लगभग 80 गुण हैं और 20 विधियाँ हैं या नहीं, तो आपको कक्षा को कई अन्य लोगों में तोड़ना होगा और कोड को वास्तव में बहुत गड़बड़ करना होगा।
मैं कक्षाओं और विधियों को छोटा रखने की कोशिश करता हूं, लेकिन लाइन की लंबाई के बारे में इतना चिंता न करें। व्यापक स्क्रीन और लंबे पहचानकर्ताओं के इन दिनों में, मुझे लगता है कि अस्सी अक्षर बहुत कम हैं। बयानों को तोड़ने के लिए कुछ काम होता है इसलिए वे आसानी से पढ़े जाते हैं, और अस्सी वर्ण सीमा के साथ, यह अक्सर होता है। मुझे लगता है कि प्रति पंक्ति लगभग १२० या १३० कॉलम अधिक उचित है।