2013-03-15 8 views
9

मैंने हाल ही में यह पाया है कि पीईपी 8 का पालन करना एक अच्छा विचार होगा। मैंने अपना संपादक 80-कॉलम चिह्न प्रदर्शित किया और अब इसमें फिट करने के लिए लाइनों को लपेटने का प्रयास कर रहा हूं। मेरा सवाल यह है। पीईपी 8 में यह कहता है:पायथन पीईपी 8 डॉकस्ट्रिंग लाइन की लंबाई

सभी पंक्तियों को अधिकतम 7 9 वर्णों तक सीमित करें।

समझ में आता है।

[...] टेक्स्ट के लंबे ब्लॉक (डॉकस्ट्रिंग्स या टिप्पणियां) बहने के लिए, लंबाई को 72 वर्णों तक सीमित करने की अनुशंसा की जाती है।

क्यों 72? डॉकस्ट्रिंग या टिप्पणियों के लिए 79 जुर्माना क्यों नहीं है?

+0

मैं थोड़ी उलझन में हूं। क्या इंडेंटेशन सहित टिप्पणियों के लिए 72-वर्ण सीमा है या नहीं? –

उत्तर

9

मेरा मानना ​​है कि यह पाठ दस्तावेज़ों से एक हैंगओवर है:

टाइपराइटर उम्र के अंत में, सबसे डिजाइन 72 सीपीएल की ओर तैयार कर रहे थे, प्रति इंच 12 वर्णों की एक पिच से ली गई, 6 से गुणा इंच (उदाहरण के लिए आईबीएम सिलेक्ट्रिक देखें)। यह अभी भी समय में प्रत्येक मार्जिन के लिए कम से कम 1 इंच यह सुनिश्चित करना होगा होने 8 1/2 × 11 "कागज पर मानकीकृत अमेरिकी सरकार के साथ,।

Source

कई सादे पाठ दस्तावेजों परंपरा से बाहर 72 सीपीएल के अनुरूप हैं।

मुझे लगता है कि यह बस के रूप में docstrings अक्सर कोड के बाहर संदर्भों में उपयोग किया जाता है, तो यह समझ में आता है शैली सबसे सादा पाठ दस्तावेजों कोशिश करते हैं और के रूप में रहने के लिए उपयोग करने के लिए अनुरूप यथासंभव संगत। उदाहरण के लिए, man पृष्ठों का पाठ आम तौर पर 72 वर्णों तक लपेटा जाता है। डॉकस्ट्रिंग को 72 वर्णों तक सीमित करके, help() का उत्पादन यह दर्पण करता है।

This question on Programmers भी प्रासंगिक हो सकता है।

+1

एक टिप्पणी के रूप में - यह सब अनुमान है - मेरे पास कोई स्रोत नहीं है कि यह कारण है, ऐसा लगता है कि यह मेरे लिए संभव है - अगर किसी के पास कुछ और ठोस है, तो मुझे दिलचस्पी होगी। –

+1

हालांकि यह एक अच्छा अनुमान है। –

+0

इस शब्द को [इस परिवर्तन] में http://idogththon.org/peps/comparison/5f37d8cda9c1/pep-0008.txt) में जोड़ा गया था, इसलिए आपको उसे अपने स्रोत के लिए पूछना होगा। यह मेलिंगलिस्ट पर विस्तृत किया जा सकता है। –

5

Docstrings आम तौर पर उनके कार्य के साथ इंडेंट, और शुरू करने और ट्रिपल कोट्स के साथ समाप्त कर रहे हैं:

def foo(bar, baz): 
    """Frobnicate the foobars into baz 

    Parameters are ham and spammed. 

    """ 

79 है यही कारण है कि - 4 - 3 = 72 छोड़ दिया अक्षर।

+8

मुझे पूरा यकीन है कि 72 वर्ण सीमा इन्हें शामिल करने का इरादा है। –

+0

एचआरएम, शायद। खुद को यकीन नहीं है, लेकिन आपके पास भी आपके उत्तर के साथ एक बिंदु हो सकता है। –

+0

यह केवल डॉकस्ट्रिंग की पहली पंक्ति के लिए है, है ना? इसके बाद, आप केवल 79 - 4 = 75 वर्णों तक ही सीमित हैं। पहली पंक्ति के बाद 72 सीमा का सम्मान करना कैसे आसान हो सकता है? –

1

कारण यह है कि रेखाएं 7 9 वर्ण होनी चाहिए ताकि वे 80 वर्ण चौड़े टर्मिनल में फिट हो सकें (जाहिर है कि वे अभी भी मौजूद हैं)। कारण यह है कि डॉकस्ट्रिंग पर 72 वर्णों का उपयोग किया जाता है, इसका मतलब है कि आपके पास दोनों तरफ बराबर पैडिंग है (डॉकस्ट्रिंग इंडेंट हैं, सब के बाद) और अभी भी 80 वर्ण चौड़ाई में फिट हैं।

+0

लेकिन 80 अक्षरों के 80 टर्मिनल टर्मिनल में फिट नहीं हैं ?! –

संबंधित मुद्दे