इस उपयोग में आसान कमांड-लाइन टूल के साथ अपने कोडबेस को स्प्रिंग क्लीन दें।

एक लाइनिंग टूल एक मूल्यवान संसाधन है जो आपके कोड में त्रुटियों और विसंगतियों को पकड़ने में आपकी सहायता कर सकता है।

फ्लेक 8 पायथन के लिए सबसे लोकप्रिय लाइनिंग टूल में से एक है। यह अप्रयुक्त आयात जैसे अन्य मुद्दों के साथ-साथ आपके कोड में सिंटैक्स और स्वरूपण त्रुटियों की पहचान करता है। यह बहुत लचीला है, क्योंकि इसके डिफ़ॉल्ट नियम होने के बावजूद, आप अपनी आवश्यकताओं के अनुरूप उन्हें बदल सकते हैं या उनमें जोड़ सकते हैं।

जब आप वीएस कोड का उपयोग करके अपने कोड में अपडेट सहेजते हैं तो आप फ्लेक 8 को चलाने के लिए भी कॉन्फ़िगर कर सकते हैं। ये सभी विशेषताएं इसे पायथन प्रोग्राम लिखते समय एक मूल्यवान उपकरण बनाती हैं।

परत8 स्थापित करना

अपने विकास के वातावरण पर Flake8 को स्थापित करने के लिए नीचे दिए गए चरणों का पालन करें। आपको आवश्यकता हो सकती है अपनी मशीन पर पिप स्थापित करें पहला।

  1. Flake8 को स्थापित करने के लिए अपने टर्मिनल में नीचे दी गई कमांड चलाएँ:
    पिप स्थापित परत8
  2. सत्यापित करें कि Flake8 निम्न आदेश चलाकर स्थापित किया गया है:
    फ्लेक 8 --वर्जन
  3. यदि Flake8 सही ढंग से स्थापित है, तो आपको निम्न के जैसा आउटपुट देखना चाहिए:
    4.0.1 (mccabe: 0.6.1, app: 2.8.0, pyflakes: 2.4.0) सीपीथॉन 3.9.13पर
    लिनक्स

एक बार जब आप Flake8 को सफलतापूर्वक स्थापित कर लेते हैं, तो आप इसका उपयोग करना शुरू कर सकते हैं।

पायथन कोड का विश्लेषण करने के लिए फ्लेक 8 का उपयोग करना

यह समझने के लिए कि Flake8 का उपयोग कैसे करें, निम्न कोड से प्रारंभ करें। इसमें कुछ इरादतन त्रुटियां हैं। नामक फ़ाइल में कॉपी करें ग्रीटिंग.py.

डीईएफ़अभिवादन(नाम):
प्रिंट ("नमस्ते, " + नाम)

अभिवादन("ऐलिस")
 अभिवादन("बॉब")

एक फाइल पर फ्लेक 8 चलाना

Flake8 को एक फ़ाइल पर चलाने का सिंटैक्स इस प्रकार है।

फ्लेक 8 पथ/से/file.py

इस उदाहरण में, greting.py फ़ाइल वाली निर्देशिका पर नेविगेट करें और निम्न कमांड चलाएँ।

फ्लेक 8 ग्रीटिंग.पी

Flake8 को इंडेंटेशन त्रुटि दिखाते हुए निम्न संदेश वापस करना चाहिए।

अभिवादन.py:5:1: ई 999इंडेंटेशन एरर: अप्रत्याशितमांगपत्र

यह आउटपुट इंगित करता है कि पंक्ति 5 अनावश्यक रूप से इंडेंट है। को इस इंडेंटेशन त्रुटि को ठीक करें, आपको इस पंक्ति की शुरुआत से स्थान निकालने की आवश्यकता है।

डीईएफ़अभिवादन(नाम):
प्रिंट ("नमस्ते, " + नाम)

अभिवादन("ऐलिस")
अभिवादन("बॉब")

अब जब आप Flake8 चलाते हैं, तो आपको निम्नलिखित चेतावनियाँ मिलेंगी।

अभिवादन.py:4:1: E305अपेक्षित 2 खालीपंक्तियांबादकक्षायासमारोहपरिभाषा, मिला 1
अभिवादन.py:5:16: W292नहींनई पंक्तिपरअंतकाफ़ाइल

यह आउटपुट निम्न मुद्दों को इंगित करता है:

  • पंक्ति 4 पर, ग्रीटिंग फ़ंक्शन परिभाषा के बाद दो रिक्त पंक्तियाँ होनी चाहिए, लेकिन केवल एक ही है।
  • लाइन 5 पर, फाइल के अंत में एक नई लाइन होनी चाहिए।

एक बार जब आप इन मुद्दों को ठीक कर लेते हैं, तो फ्लेक 8 को कोई संदेश वापस नहीं करना चाहिए।

अब तक, हमने केवल एक फ़ाइल का विश्लेषण किया है लेकिन अधिकांश मामलों में, आप एकाधिक फ़ाइलों का विश्लेषण करना चाहेंगे।

एकाधिक फाइलों पर फ्लेक 8 चलाना

कहते हैं कि आपके पास एक और कॉल है test_greeting.py जिसमें निम्न कोड है:

से अभिवादन आयात अभिवादन
डीईएफ़test_greet():
ज़ोर अभिवादन("ऐलिस") == "हैलो, ऐलिस!"

इन दो फ़ाइलों का विश्लेषण करने के लिए, निम्न कमांड चलाएँ।

Flake8 ग्रीटिंग.py test_greeting.py

यह विधि काम करती है लेकिन यदि आपके पास दो से अधिक फ़ाइलें हैं, तो फ़ाइल नामों को टाइप करना थका देने वाला और त्रुटि-प्रवण हो सकता है।

वर्तमान निर्देशिका में सभी फाइलों का विश्लेषण करने के लिए निम्न आदेश का उपयोग करना अधिक कुशल है:

परत8।

Flake8 त्रुटियों और चेतावनियों को समझना

Flake8 दो प्रकार की समस्याओं की रिपोर्ट करता है:

  • त्रुटियां: एक त्रुटि एक सिंटैक्स या संरचनात्मक समस्या को इंगित करती है जो आपके कोड को ग्रीटिंग.py उदाहरण से इंडेंटेशन त्रुटि की तरह चलने से रोकती है।
  • चेतावनियां: एक चेतावनी एक संभावित समस्या या पीईपी 8 शैली के दिशानिर्देशों का उल्लंघन दर्शाती है, जैसे ग्रीटिंग.पीई उदाहरण से "फ़ाइल के अंत में कोई नई पंक्ति नहीं" चेतावनी।

कुछ सामान्य त्रुटियां और चेतावनियां हैं:

  • E101: इंडेंटेशन में मिश्रित स्थान और टैब होते हैं।
  • E302: अपेक्षित 2 रिक्त पंक्तियाँ, 0 मिलीं।
  • E999 इंडेंटेशन एरर: अनपेक्षित इंडेंट।
  • W291: ट्रेलिंग व्हाइट स्पेस।
  • E501: पंक्ति बहुत लंबी है (अधिकतम 79 वर्ण)।
  • F401: मॉड्यूल आयात किया गया लेकिन अप्रयुक्त।

जब आप Flake8 चलाते हैं तो यह एक संदेश आउटपुट करेगा जैसे कि ऊपर दिखाया गया है और पंक्ति संख्या, और कोड स्थान संदेश संदर्भ। इससे आपको यह जानने में मदद मिलती है कि वास्तव में आपके कोड में कौन सी समस्याएं हैं जो आपको डिबगिंग समय बचाती हैं।

फ्लेक 8 को कॉन्फ़िगर करना

कुछ परियोजनाओं के लिए, Flake8 के नियम बहुत कठोर हो सकते हैं। इन मामलों में, Flake8 आपको इसे कॉन्फ़िगर करने और अपनी आवश्यकताओं के अनुरूप इसके व्यवहार को अनुकूलित करने की अनुमति देता है।

आप कॉन्फ़िगरेशन विकल्प प्रदान कर सकते हैं जैसे:

  • विशिष्ट त्रुटियों या चेतावनियों को अनदेखा करना।
  • अधिकतम लाइन लंबाई निर्धारित करना।
  • अतिरिक्त नियम निर्दिष्ट करना।

प्रदर्शित करने के लिए, setup.cfg नामक कॉन्फ़िगरेशन फ़ाइल बनाएँ। आप कॉन्फ़िगरेशन विकल्पों को tox.ini, या .flake8 नामक फ़ाइल में भी जोड़ सकते हैं।

इस फाइल में, इस तरह एक फ्लेक8 सेक्शन बनाकर शुरू करें:

[परत 8]

फिर वे विकल्प जोड़ें जिन्हें आप कॉन्फ़िगर करना चाहते हैं:

[परत 8]
अधिकतम-पंक्ति-लंबाई = 100
उपेक्षा = F401

इस उदाहरण में, अधिकतम-रेखा-लंबाई = 100 फ्लेक 8 को आपके स्रोत कोड फ़ाइलों में किसी भी पंक्ति के लिए चेतावनी जारी करने के लिए कहता है जो लंबाई में 100 वर्णों से अधिक है। अनदेखा = F401 अप्रयुक्त आयात से संबंधित त्रुटियों को अनदेखा करने के लिए फ्लेक 8 को बताता है।

आपको इन विकल्पों को कॉन्फ़िगरेशन फ़ाइल में जोड़ने की आवश्यकता नहीं है क्योंकि आप उन्हें इस तरह कमांड लाइन पर निर्दिष्ट कर सकते हैं:

परत 8 --अनदेखा E203 --अधिकतम-पंक्ति-लंबाई 100

कॉन्फ़िगरेशन फ़ाइल का उपयोग करना सबसे अच्छा तरीका है क्योंकि हर बार जब आप फ्लेक 8 का उपयोग करते हैं तो आपको वही विकल्प निर्दिष्ट करने की आवश्यकता नहीं होती है।

वीएस कोड में फ्लेक 8 का उपयोग करना

यदि आप अपने पायथन एप्लिकेशन को लिखने के लिए वीएस कोड का उपयोग कर रहे हैं, तो आप टाइप करते समय अपनी पायथन फ़ाइलों को लिंट करने के लिए फ्लेक 8 एक्सटेंशन का उपयोग कर सकते हैं।

सबसे पहले, आपको वीएस कोड मार्केटप्लेस से फ्लेक8 एक्सटेंशन इंस्टॉल करना होगा। अगला, इसे कॉन्फ़िगर करने के लिए वीएस कोड सेटिंग्स खोलें, फिर "python.linting.flake8Enabled" खोजें और फ्लेक 8 के साथ लाइनिंग को सक्षम करें।

अब आपको कोड लिखते समय टेढ़ी-मेढ़ी रेखा के साथ हाइलाइट की गई त्रुटियों और चेतावनियों को देखना चाहिए। हाइलाइट किए गए पाठ पर होवर करने से एक संदेश प्रदर्शित होगा जो समस्या की व्याख्या करता है और संभावित सुधारों का सुझाव देता है।

अन्य पायथन आईडीई जैसे कि Pycharm में Flake8 एक्सटेंशन भी हैं जिन्हें आप लाइनिंग प्रक्रिया को सरल बनाने के लिए कॉन्फ़िगर कर सकते हैं।

आपको लिंटर का उपयोग क्यों करना चाहिए?

जैसा कि आप कोड लिखते हैं, आप त्रुटियों और विसंगतियों का परिचय दे सकते हैं जो आपके आवेदन को विफल करने या प्रदर्शन संबंधी समस्याओं का कारण बनते हैं। Flake8 जैसा एक लिंटर आपको इनमें से कुछ मुद्दों को पहले से पकड़ने की अनुमति देता है, जिससे आपको क्लीनर कोड लिखने में मदद मिलती है। इसे अपने विकास कार्यप्रवाह में एकीकृत करना बहुत महत्वपूर्ण है।

आप इसे अपने टेक्स्ट एडिटर या आईडीई में उपयोग करके और इसे अपने निरंतर में एकीकृत करके कर सकते हैं एकीकरण पाइपलाइन को अपने कोड में विलय करने से पहले त्रुटियों और चेतावनियों के लिए स्वचालित रूप से अपने कोड की जांच करने के लिए मुख्य शाखा।