लाइनिंग संभावित कोडबेस त्रुटियों की पहचान करने के लिए एक प्रकार का स्थिर कोड विश्लेषण है। लिंटर्स सिंटैक्स त्रुटियों और शैली के मुद्दों के लिए कोड का विश्लेषण करते हैं। प्रक्रिया बग को रोकने, पठनीयता में सुधार करने, सर्वोत्तम प्रथाओं को लागू करने और समय बचाने में मदद कर सकती है।
सॉफ्टवेयर विकास में लिंटिंग एक मानक अभ्यास है। हालाँकि गो के मानक पुस्तकालय में कोई लिंटर नहीं बनाया गया है, लेकिन गो पारिस्थितिकी तंत्र में कई तृतीय-पक्ष लिंटिंग उपकरण मौजूद हैं। इनमें गोलंगसीआई लिंट, गो मेटा लिंटर और स्टैटिकचेक पैकेज शामिल हैं।
गोलंगसीआई लिंट पैकेज
गोलंगसी-लिंट पैकेज गो के लिए एक शक्तिशाली और लचीला लिंटर है जो कोड त्रुटियों को पहचानने और ठीक करने में आपकी सहायता कर सकता है। पैकेज के उपयोग में आसानी, एक्स्टेंसिबिलिटी, और बिल्ट-इन लिंटर्स का व्यापक सेट इसे कई गो डेवलपर्स के लिए एक लोकप्रिय विकल्प बनाता है।
गोलंगसीआई लिंट गो सोर्स कोड का विश्लेषण करता है और संभावित बग, सुरक्षा मुद्दों और पर प्रतिक्रिया प्रदान करता है उच्च-प्रदर्शन विश्लेषण और निरंतर एकीकरण (CI) के लिए कार्यक्षमता के साथ कोडिंग शैली का उल्लंघन सहायता।
Golangci-lint पैकेज को स्थापित करने के लिए इस टर्मिनल कमांड को अपने प्रोजेक्ट की वर्किंग डायरेक्टरी में चलाएँ:
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 कॉन्फ़िग> .golangci.yml
कमांड नाम की एक नई फाइल बनाता है .golangci.yml आपकी वर्तमान निर्देशिका में। आप अपने प्रोजेक्ट के लिए लिंटर को कॉन्फ़िगर करने के लिए इस फ़ाइल को संपादित करने के लिए आगे बढ़ सकते हैं।
यहाँ की सामग्री है .golangci.yml फ़ाइल जब आप आदेश चलाते हैं:
फ़ाइल के बारे में जानकारी है golangci-लिंट उपकरण और वे विकल्प जिनका उपयोग आप अपनी लिस्टिंग प्रक्रिया को कॉन्फ़िगर करने के लिए कर सकते हैं।
अपने प्रोग्राम के लिए लाइनिंग नियम जोड़ने के लिए आपको फ़ाइल को संपादित करना होगा। आप पर उपलब्ध लिंटरों की पूरी सूची प्राप्त कर सकते हैं गोलंगसी-लिंट लिंटर्स दस्तावेज़ पृष्ठ। या आप चला सकते हैं मदद लिंटर अपनी कमांड लाइन पर लिंटर देखने के लिए कमांड:
golangci-lint मदद लिंटर
कमांड आपके द्वारा इंस्टॉल किए गए पैकेज के संस्करण के लिए उपलब्ध सभी लिंटर्स को आउटपुट करता है।
लिंटर चलाना
निम्नलिखित "Hello, World!" प्रोग्राम जो उपयोग करता है नेट/एचटीटीपी पैकेट:
पैकेट मुख्य
आयात (
"एफएमटी"
"नेट/एचटीटीपी"
)समारोहहैंडलर(डब्ल्यू http. रिस्पांस राइटर, आर * एचटीटीपी। अनुरोध) {
fmt. एफप्रिंटफ (डब्ल्यू, "हैलो वर्ल्ड!")
}
समारोहमुख्य() {
एचटीटीपी। हैंडलफंक("/", हैंडलर)
एचटीटीपी। सुनो और परोसें (":8080", शून्य)
}
यह कार्यक्रम एक परिभाषित करता है हैंडलर फ़ंक्शन जो लेखक में लेता है और उदाहरणों का अनुरोध करता है एचटीटीपी पैकेज का प्रतिक्रिया लेखक और अनुरोध संरचना प्रकार। हैंडलर फ़ंक्शन लिखता है "हैलो, वर्ल्ड!" ग्राहक के अनुरोध पर।
मुख्य फ़ंक्शन माउंट करता है / के लिए मार्ग हैंडलर समारोह, और सुनो और परोसें फ़ंक्शन सर्वर को लोकलहोस्ट पोर्ट पर शुरू करता है 8080.
सुनो और परोसें फ़ंक्शन एक त्रुटि देता है, लेकिन प्रोग्राम इसे अनदेखा करता है। यह कॉन्फ़िगरेशन सुनिश्चित करेगा कि लिंटर समस्या को हाइलाइट करता है:
लिंटर-सेटिंग्स:
डेडकोड:
# सभी परीक्षण फाइलों को अनदेखा करें
स्किप-फाइल्स: "_परीक्षण\\.जाओ$"
सरकार:
# शैडोइंग चेक को अक्षम करें
चेक-शैडोइंग: असत्य
गोलिंट:
# निर्यात किए गए फ़ंक्शन नामों के बारे में त्रुटियों को अनदेखा करें
बहिष्कृत-उपयोग-गलती करना-निर्यात: सत्य
# अंडरस्कोर के बारे में त्रुटियों को अनदेखा करें पैकेट नाम
बहिष्कृत-बेकार-नामकरण: सत्य
गोसेक:
# गोसेक परीक्षण अक्षम करें, क्योंकि वे धीमे हैं और उत्पादन कर सकते हैं असत्य सकारात्मक
परीक्षण: असत्य
अप्रयुक्त:
# अप्रयुक्त फ़ंक्शन तर्कों की रिपोर्ट करें, लेकिन अप्रयुक्त चरों की नहीं
चेक-निर्यात: सत्य
चेक-रिक्त: सत्य
जाँच परीक्षण: सत्य
इस लिंटर कॉन्फ़िगरेशन को सेट करने के बाद, आप लिंटर को चला सकते हैं दौड़ना आज्ञा:
गोलंगसी-लिंट रन
# समतुल्य, सभी कार्यक्रम चलाता है
गोलंगसी-लिंट रन ./...
वैकल्पिक रूप से, आप फ़ाइल नाम या पथ निर्दिष्ट करके विशिष्ट फ़ाइलों को लिंट कर सकते हैं दौड़ना आज्ञा:
गोलांग्सी-लिंट रन dir1 dir2/... dir3/file1.go
यहाँ कार्यक्रम के विरुद्ध लिंटर चलाने का परिणाम है:
golangci-लिंट उपकरण बहुमुखी है, और आपकी परियोजना के आधार पर आपकी कॉन्फ़िगरेशन अलग-अलग होगी।
आप ESLint के साथ अपने JavaScript प्रोजेक्ट्स को लिंट कर सकते हैं
लाइनिंग एक लोकप्रिय सॉफ्टवेयर विकास कार्य है, और अधिकांश प्रोग्रामिंग लैंग्वेज और आईडीई लाइनिंग प्रोग्राम के लिए उपकरण प्रदान करते हैं। जावास्क्रिप्ट के लिए, ESLint सबसे लोकप्रिय लिंटर है।
एस्लिंट कई लाइनिंग नियम प्रदान करता है जो सीएलआई, आईडीई और टेक्स्ट एडिटर टूल्स में उद्योग मानकों का पालन करते हैं, जिससे लाइनिंग टूल जावास्क्रिप्ट डेवलपर्स के लिए एक बढ़िया विकल्प बन जाता है।