GolangCI लिंट पैकेज के साथ अपने कार्यक्रमों को लिंट करें

GolangCI लिंट पैकेज के साथ अपने कार्यक्रमों को लिंट करें
आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

लाइनिंग संभावित कोडबेस त्रुटियों की पहचान करने के लिए एक प्रकार का स्थिर कोड विश्लेषण है। लिंटर्स सिंटैक्स त्रुटियों और शैली के मुद्दों के लिए कोड का विश्लेषण करते हैं। प्रक्रिया बग को रोकने, पठनीयता में सुधार करने, सर्वोत्तम प्रथाओं को लागू करने और समय बचाने में मदद कर सकती है।





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





दिन का वीडियो

गोलंगसीआई लिंट पैकेज

  गोलंगसी लिंट लोगो, एक नीला गोफर जिसके ऊपर एक बग बना हुआ शील्ड है

गोलंगसी-लिंट पैकेज गो के लिए एक शक्तिशाली और लचीला लिंटर है जो कोड त्रुटियों को पहचानने और ठीक करने में आपकी सहायता कर सकता है। पैकेज के उपयोग में आसानी, एक्स्टेंसिबिलिटी, और बिल्ट-इन लिंटर्स का व्यापक सेट इसे कई गो डेवलपर्स के लिए एक लोकप्रिय विकल्प बनाता है।





गोलंगसीआई लिंट गो सोर्स कोड का विश्लेषण करता है और उच्च प्रदर्शन विश्लेषण और निरंतर एकीकरण (सीआई) समर्थन के लिए संभावित बग, सुरक्षा मुद्दों और कोडिंग शैली के उल्लंघन पर प्रतिक्रिया प्रदान करता है।

Golangci-lint पैकेज को स्थापित करने के लिए इस टर्मिनल कमांड को अपने प्रोजेक्ट की वर्किंग डायरेक्टरी में चलाएँ:



 go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.1 

पैकेज को स्थापित करने के आदेश के लिए आपका गो संस्करण 1.19 या बाद का होना चाहिए। आप चेक भी कर सकते हैं गोलंगसी-लिंट प्रतिष्ठान अन्य उपलब्ध स्थापना विधियों के लिए पृष्ठ।

कमांड आपके सिस्टम पर CLI टूल के रूप में GolangCI को स्थापित करेगा। आप इस आदेश के साथ स्थापना को सत्यापित कर सकते हैं:





 golangci-lint --version 

आदेश को आपके द्वारा इंस्टॉल किए गए golangci-lint के संस्करण को प्रदर्शित करना चाहिए।

लिंटर का विन्यास

लिंटर बहुत बहुमुखी हैं , इसलिए एक लिंटर स्थापित करने के लिए, आपको अपने प्रोजेक्ट के लिए लिंटर को कॉन्फ़िगर करना होगा।





golangci-लिंट उपकरण का उपयोग करता है कॉन्फ़िगरेशन के लिए YAML फ़ाइलें . पैकेज को पढ़ने के लिए आप YAML फ़ाइल में अपने लिंटर की सेटिंग निर्दिष्ट करेंगे।

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

 golangci-lint config > .golangci.yml 

कमांड नाम की एक नई फाइल बनाता है .golangci.yml आपकी वर्तमान निर्देशिका में। आप अपने प्रोजेक्ट के लिए लिंटर को कॉन्फ़िगर करने के लिए इस फ़ाइल को संपादित करने के लिए आगे बढ़ सकते हैं।

यहाँ की सामग्री है .golangci.yml फ़ाइल जब आप आदेश चलाते हैं:

  Golangci-lint YAML फ़ाइल उपयोग निर्देश

फ़ाइल के बारे में जानकारी है golangci-लिंट उपकरण और वे विकल्प जिनका उपयोग आप अपनी लिस्टिंग प्रक्रिया को कॉन्फ़िगर करने के लिए कर सकते हैं।

अपने प्रोग्राम के लिए लाइनिंग नियम जोड़ने के लिए आपको फ़ाइल को संपादित करना होगा। आप पर उपलब्ध लिंटरों की पूरी सूची प्राप्त कर सकते हैं गोलंगसी-लिंट लिंटर्स दस्तावेज़ पृष्ठ। या आप चला सकते हैं मदद लिंटर अपनी कमांड लाइन पर लिंटर देखने के लिए कमांड:

टिकटोक पर शब्द कैसे जोड़ें
 golangci-lint help linters 

कमांड आपके द्वारा इंस्टॉल किए गए पैकेज के संस्करण के लिए उपलब्ध सभी लिंटर्स को आउटपुट करता है।

  Golangci-lint पर हेल्प कमांड चलाने के परिणाम

लिंटर चलाना

निम्नलिखित 'Hello, World!' प्रोग्राम जो उपयोग करता है नेट/एचटीटीपी पैकेट:

 package main 

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hello, world!")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

यह कार्यक्रम एक परिभाषित करता है हैंडलर फ़ंक्शन जो लेखक में लेता है और उदाहरणों का अनुरोध करता है एचटीटीपी पैकेज का प्रतिक्रिया लेखक और अनुरोध संरचना प्रकार। हैंडलर फ़ंक्शन लिखता है 'हैलो, वर्ल्ड!' ग्राहक के अनुरोध पर।

मुख्य फ़ंक्शन माउंट करता है / के लिए मार्ग हैंडलर समारोह, और सुनो और परोसें फ़ंक्शन सर्वर को लोकलहोस्ट पोर्ट पर शुरू करता है 8080 .

सुनो और परोसें फ़ंक्शन एक त्रुटि देता है, लेकिन प्रोग्राम इसे अनदेखा करता है। यह कॉन्फ़िगरेशन सुनिश्चित करेगा कि लिंटर समस्या को हाइलाइट करता है:

 linters-settings: 
  deadcode:
    # ignore all test files
    skip-files: "_test\.go$"
  govet:
    # disable shadowing check
    check-shadowing: false
  golint:
    # ignore errors about exported function names
    exclude-use-default-exported: true

    # ignore errors about underscores in package names
    exclude-useless-naming: true
  gosec:
    # disable gosec tests, since they are slow and can produce false positives
    tests: false
  unused:
    # report unused function arguments, but not unused variables
    check-exported: true
    check-blank: true
    check-tests: true

इस लिंटर कॉन्फ़िगरेशन को सेट करने के बाद, आप लिंटर को चला सकते हैं दौड़ना आज्ञा:

 golangci-lint run 

# equivalent, runs all programs
golangci-lint run ./...

वैकल्पिक रूप से, आप फ़ाइल नाम या पथ निर्दिष्ट करके विशिष्ट फ़ाइलों को लिंट कर सकते हैं दौड़ना आज्ञा:

  golangci-lint run dir1 dir2/... dir3/file1.go

यहाँ कार्यक्रम के विरुद्ध लिंटर चलाने का परिणाम है:

  http प्रोग्राम पर लिंटर चलाने का परिणाम

golangci-लिंट उपकरण बहुमुखी है, और आपकी परियोजना के आधार पर आपकी कॉन्फ़िगरेशन अलग-अलग होगी।

आप ESLint के साथ अपने JavaScript प्रोजेक्ट्स को लिंट कर सकते हैं

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

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