PEP 8 को महारथ: पठनीय र मर्मतयोग्य कोडको लागि पायथन कोड शैली मार्गदर्शिका

目次

1. PEP 8 के हो

PEP 8 पायथन कोडको आधिकारिक शैली मार्गदर्शिका हो जसले स्थिरता कायम राख्न र पढ्न सजिलो बनाउँछ। विशेष गरी ठूला‑स्तरका परियोजनाहरू वा टोली विकासमा, एकीकृत नियम सेटको पालना गर्दा कोडको बुझाइ सहज हुन्छ र मर्मतसम्भार राम्रो हुन्छ।

PEP 8 का मुख्य नियमहरू

  • इन्डेन्टेशन : प्रत्येक इन्डेन्टको लागि चार स्पेस प्रयोग गर्नुहोस्। ट्याबहरू प्रयोग नगर्नुहोस्। स्पेस प्रयोगले सबै सम्पादकहरूमा समान देखावट प्रदान गर्छ र टोलीभित्रको भ्रमलाई रोक्छ।
  • लाइन लम्बाइ : प्रत्येक लाइनको अधिकतम ७९ क्यारेक्टरको सिफारिस गरिन्छ। यसले सम्पादकमा दृश्यता बढाउँछ र धेरै योगदानकर्ताहरूबीच कोड समीक्षा सजिलो बनाउँछ।
  • खाली लाइनहरू : शीर्ष‑स्तरका फङ्क्शन वा क्लासहरूबीच दुई खाली लाइनहरू, र क्लासभित्रका मेथडहरूबीच एक खाली लाइन राख्नुहोस्, जसले कोडबेसलाई व्यवस्थित र पढ्न सजिलो बनाउँछ।
  • इम्पोर्ट क्रम : इम्पोर्टहरू यस क्रममा राख्नुहोस्: मानक पुस्तकालय मोड्युलहरू, तेस्रो‑पक्ष मोड्युलहरू, स्थानीय मोड्युलहरू। प्रत्येक समूहबीच एक खाली लाइन राख्नुहोस्। यसले मोड्युल प्रकारहरूलाई दृश्यात्मक रूपमा अलग पार्छ र कोडलाई बुझ्न सजिलो बनाउँछ।
  • कमेन्टहरू : कमेन्टहरू सुसंगत, संक्षिप्त र स्पष्ट रूपमा लेख्नुहोस्, जसले कोडको उद्देश्यलाई पूरक बनाउँछ, दोहोर्याइँदैन।

PEP 8 का दिशानिर्देशहरू पालना गर्दा, तपाईंको पायथन कोड स्थिरता देखाउनेछ र अन्य विकासकर्ताहरूका लागि बुझ्न सजिलो हुनेछ।

2. चल (भेरिएबल) नामकरण नियमहरू

पायथनमा चलको नामका लागि स्नेक_केस (snake_case) प्रयोग गर्ने सिफारिस गरिन्छ। स्नेक_केसले शब्दहरूलाई अन्डरस्कोर (_) द्वारा अलग गर्छ र केवल साना अक्षरहरू प्रयोग गर्छ। यस शैलीले चलका नामहरूलाई दृश्यात्मक रूपमा सजिलै चिन्हित गर्न र तिनीहरूको उद्देश्य छिटो बुझ्न मद्दत गर्छ।

राम्रो उदाहरणहरू: total_count, user_name, average_speed
खराब उदाहरणहरू: totalCount, UserName, AverageSpeed

अर्थपूर्ण नामहरू प्रयोग गर्नु

चलका नामहरूले सामग्री वा भूमिका प्रतिबिम्बित गर्नुपर्छ। विशेष गरी झण्डा (flag) वा स्थिती‑ट्र्याकिङ चलहरूका लागि “is_” वा “has_” ले सुरु गर्दा तिनीहरूको भूमिका स्पष्ट हुन्छ।

  • राम्रो उदाहरणहरू : is_active, has_data, total_amount
  • खराब उदाहरणहरू : flag, value, temp

侍エンジニア塾

3. फङ्क्शन नामकरण नियमहरू

फङ्क्शनका नामहरू पनि स्नेक_केसमा हुनुपर्छ, र क्रियापदले सुरु गर्नु राम्रो अभ्यास हो जसले फङ्क्शनको व्यवहार स्पष्ट रूपमा देखाउँछ। फङ्क्शनको नामलाई क्रियापदले सुरु गर्दा यसको भूमिका तुरुन्तै बुझ्न सकिन्छ।

राम्रो उदाहरणहरू: fetch_user_data, calculate_average, process_order
खराब उदाहरणहरू: getData, Calculate_Average, orderProcess

मुख्य बुँदा: क्रियापद प्रयोग गर्नु

फङ्क्शनका नामहरू क्रियापदले सुरु हुनुपर्छ ताकि फङ्क्शनले के गर्छ भन्ने कुरा स्पष्ट होस्। उदाहरणका लागि, calculate_total वा is_valid ले फङ्क्शनको उद्देश्य स्पष्ट रूपमा देखाउँछ। अनावश्यक रूपमा लामो वा दोहोर्याइँदै गरेका नामहरूबाट बच्नु; सरलता र स्पष्टतामा ध्यान दिनुहोस्।

4. क्लास नामकरण नियमहरू

क्लासका नामहरू क्यामेलकेस (CamelCase) मा हुनुपर्छ। क्यामेलकेसले प्रत्येक शब्दको पहिलो अक्षरलाई ठुलो बनाउँछ र अन्डरस्कोर प्रयोग गर्दैन, जसले क्लासका नामहरूमा स्थिर ढाँचा कायम राख्न मद्दत गर्छ।

राम्रो उदाहरणहरू: UserProfile, OrderProcessor, DataManager
खराब उदाहरणहरू: user_profile, order_processor, data_manager

क्लासको भूमिका स्पष्ट बनाउनु

क्लासहरू वस्तुहरूको ब्लूप्रिन्ट हो, त्यसैले तिनीहरूलाई स्पष्ट उद्देश्य जनाउने नाम दिनु महत्त्वपूर्ण छ। उदाहरणका लागि, UserManager ले प्रयोगकर्ताहरूलाई व्यवस्थापन गर्छ, र FileHandler ले फाइल अपरेसनहरूलाई ह्यान्डल गर्छ।

年収訴求

5. स्थिरांक (constants) नामकरण नियमहरू

स्थिरांकहरू परिवर्तन नहुनुपर्ने मानहरूलाई सम्न प्रयोग गरिन्छ। तिनीहरूलाई सबै ठूला अक्षरमा अन्डरस्कोरले शब्दहरू अलग गरेर (UPPER_SNAKE_CASE) लेखिनु पर्छ, जसले तिनीहरू स्थिरांक हुन् भन्ने स्पष्ट संकेत दिन्छ।

राम्रो उदाहरणहरू: MAX_RETRIES, BASE_URL, TIMEOUT_LIMIT
खराब उदाहरणहरू: maxRetries, baseurl, TimeoutLimit

स्थिरांक व्यवस्थापन सजिलो बनाउनु

सम्बन्धित स्थिरांकहरूलाई एउटै क्लास वा फाइलमा परिभाषित गर्दा मर्मतसम्भार सरल हुन्छ। उदाहरणका लागि, Config क्लासमा अनुप्रयोग‑कन्फिगरेसन स्थिरांकहरू राख्दा तिनीहरूलाई सन्दर्भित र व्यवस्थापन गर्न सजिलो हुन्छ।

6. मोड्युल र प्याकेज नामकरण नियमहरू

मोड्युल र प्याकेज नामहरू छोटो, स्पष्ट सानो अक्षरका शब्दहरू प्रयोग गर्नुपर्छ। सम्भव भएमा अन्डरस्कोरहरू टाल्नुहोस्, र परियोजनाभित्रको तिनीहरूको भूमिकालाई स्पष्ट रूपमा प्रतिबिम्बित गर्ने नामहरू चयन गर्नुहोस्।

सही उदाहरणहरू: utils, data_processing, core
खराब उदाहरणहरू: DataProcessing, CoreUtilsPackage, Helper_Functions

मोड्युल र प्याकेजहरूको लागि नामकरण नियमहरू पालना गर्दा परियोजनालाई व्यवस्थित गर्न मद्दत मिल्छ र अन्य विकासकर्ताहरूका लागि पहुँचयोग्य बनाउँछ।

7. निजी भेरिएबलहरू र मेथडहरूको नामकरण

Python ले पहुँच नियन्त्रण लागू नगरे पनि, नामको अगाडि अन्डरस्कोर (_) राखेर निजी भेरिएबल वा मेथड संकेत गर्न सकिन्छ। यसले सदस्य आन्तरिक प्रयोगको लागि हो भन्ने संकेत दिन्छ र अन्य विकासकर्ताहरूसँग यो जानकारी सञ्चार गर्न मद्दत गर्छ।

सही उदाहरणहरू: _internal_method, _private_data
खराब उदाहरणहरू: internalMethod, PrivateData

डबल अन्डरस्कोर (__) प्रयोग गरेर सुरु गर्ने

नाम डबल अन्डरस्कोर (__) बाट सुरु भएमा, नाम म्याङ्गलिङ्ग हुन्छ र उपवर्गहरूमा अनजानी ओभरराइडबाट बच्न सकिन्छ। यो ठूलो वर्ग डिजाइनहरूमा विशेष गरी उपयोगी हुन्छ।

8. विशेष नामकरण नियमहरू (डन्डर मेथडहरू)

Python ले “डन्डर मेथडहरू” (नामको अगाडि र पछाडि दुबै डबल अन्डरस्कोर) भनेर चिनिने विशेष मेथडहरू परिभाषित गर्दछ। यी मेथडहरू Python भित्र मानक व्यवहार वा प्रोटोकलहरू कार्यान्वयन गर्न प्रयोग गरिन्छ।

उदाहरणहरू

  • __init__ : वर्गको उदाहरण सुरु हुँदा कल गरिन्छ
  • __str__ : वस्तुको स्ट्रिङ प्रतिनिधित्व फिर्ता गर्छ
  • __len__ : वस्तुको लम्बाइ फिर्ता गर्छ

यी मेथडहरू विशिष्ट उद्देश्यका लागि प्रयोग गरिन्छ, त्यसैले तिनीहरूलाई जानबुझेर र सही तरिकाले प्रयोग गर्नु महत्त्वपूर्ण छ।

9. नामकरण नियमहरूको महत्व र उत्तम अभ्यासहरू

नामकरण नियमहरू पालना गर्दा कोडको पढ्नयोग्यता र मर्मत सम्भार सुधार हुन्छ, र टोली विकासको कार्यक्षमता बृद्धि पाउँछ। उचित नामकरणले कोडलाई बुझ्न सजिलो बनाउँछ, त्रुटि सुधार वा बग फिक्सको लागि पुन: हेर्न सरल बनाउँछ, र समग्र परियोजनाको गुणस्तरमा योगदान पुर्याउँछ।

नामकरणमा स्थिरता

स्थिर नामकरण नियमहरू अपनाएर, अन्य विकासकर्ताहरूले तपाईंको कोड सजिलै बुझ्न सक्छन्, र समीक्षाहरू वा रिफ्याक्टरिङ्ग प्रक्रिया सहजै अगाडि बढ्छ। जब नामकरण शैलीहरू एकीकृत हुन्छन्, भेरिएबल र फङ्क्शन जस्ता पहिचानकर्ताहरू तुरुन्तै भूमिकाद्वारा पहिचानयोग्य हुन्छन्, जसले कोडलाई स्वाभाविक रूपमा अनुसरण गर्न सजिलो बनाउँछ।

अर्थपूर्ण नामहरू प्रयोग गर्ने

भेरिएबल वा फङ्क्शन जस्ता पहिचानकर्ताहरूले आफ्नो भूमिका वा उद्देश्य स्पष्ट रूपमा व्यक्त गर्ने नामहरू प्रयोग गर्नुपर्छ। उदाहरणका लागि, total_count वा is_valid ले आफ्नो अर्थ सहजै बुझाउँछन्। “temp” वा “value” जस्ता अस्पष्ट नामहरू प्रयोग नगर्नुहोस्, र सट्टा विशिष्ट, स्पष्ट नामहरू प्रयोग गर्नुहोस्।

अत्यधिक संक्षिप्तता वा सजावट टाल्नुहोस्

नामकरणमा अत्यधिक संक्षिप्तता वा अलंकारिकता वास्तवमा पढ्नयोग्यता घटाउन सक्छ। Python को नामकरण नियमहरू पालना गरेर र छोटो तर अर्थपूर्ण नामहरू चयन गरेर, तपाईं कोडको पढ्नयोग्यता बृद्धि गर्न सक्नुहुन्छ।

10. अभ्यासमा उपयोगी उपकरणहरू र टिप्स

PEP 8 सँग सँगै नामकरण नियमहरू कायम राख्न स्वचालित स्वरूपण र स्थिर विश्लेषण उपकरणहरूको मद्दतले सजिलो हुन्छ। तल तपाईंले अभ्यासमा प्रयोग गर्न सक्ने उपकरणहरू छन्।

  • Black : Python को लागि स्वचालित कोड स्वरूपक। यो कोडलाई PEP 8 अनुरूप पुन: लेख्छ, जसले कोड बेसभर समान इन्डेन्टेशन, स्पेसिङ्ग र नामकरण नियमहरू सुनिश्चित गर्छ।
  • **Pylint : नामकरण उल्लङ्घन, त्रुटि र कोड दोहोर्याइहरू जाँच्ने स्थिर विश्लेषण उपकरण। Pylint प्रयोग गर्दा शैली उल्लङ्घन र बगहरूको प्रारम्भिक पत्ता लगाउन सजिलो हुन्छ। :contentReference[oaicite:0]{index=0}
  • Flake8 : शैली मार्गनिर्देशनसँग कोड स्वरूप मिलाइराख्ने उपकरण। Black वा Pylint सँग संयोजन गर्दा, यो अधिक सूक्ष्म जाँचहरू सक्षम पार्छ र नामकरण नियमहरू ठीकसँग पालना गरिन्छ भन्ने सुनिश्चित गर्छ।

यी उपकरणहरू प्रयोग गर्दा टोलीका सबै विकासकर्ताहरूले एकीकृत नियमहरू अनुरूप कोड लेख्न सक्छन्, र टोली विकासको क्रममा शैली तथा नामकरण नियमहरूको कार्यान्वयन स्वचालित रूपमा सुनिश्चित हुन्छ।