گولانگ سی آئی لِنٹ پیکج کے ساتھ اپنے گو پروگراموں کو لِنٹ کریں۔

گولانگ سی آئی لِنٹ پیکج کے ساتھ اپنے گو پروگراموں کو لِنٹ کریں۔
آپ جیسے قارئین MUO کو سپورٹ کرنے میں مدد کرتے ہیں۔ جب آپ ہماری سائٹ پر لنکس کا استعمال کرتے ہوئے خریداری کرتے ہیں، تو ہم ملحق کمیشن حاصل کر سکتے ہیں۔ مزید پڑھ.

لنٹنگ ممکنہ کوڈ بیس کی غلطیوں کی نشاندہی کرنے کے لیے جامد کوڈ تجزیہ کی ایک قسم ہے۔ لنٹر نحو کی غلطیوں اور طرز کے مسائل کے لیے کوڈ کا تجزیہ کرتے ہیں۔ یہ عمل کیڑے کو روکنے، پڑھنے کی اہلیت کو بہتر بنانے، بہترین طریقوں کو نافذ کرنے اور وقت بچانے میں مدد کر سکتا ہے۔





لنٹنگ سافٹ ویئر کی ترقی میں ایک معیاری مشق ہے۔ گو کہ گو کی معیاری لائبریری میں کوئی لنٹر نہیں بنایا گیا ہے، تاہم گو ایکو سسٹم میں تھرڈ پارٹی لِنٹنگ ٹولز موجود ہیں۔ ان میں GolangCI Lint، Go Meta Linter، اور Staticcheck پیکجز شامل ہیں۔





دن کی ویڈیو کا میک یوز

گولانگ سی آئی لنٹ پیکیج

  GolangCI Lint لوگو، ایک نیلے گوفر نے ڈھال پکڑی ہوئی ہے جس پر ایک بگ بنی ہوئی ہے۔

گولانگسی لنٹ پیکیج Go کے لیے ایک طاقتور اور لچکدار لنٹر ہے جو آپ کو کوڈ کی غلطیوں کی شناخت اور اسے ٹھیک کرنے میں مدد کر سکتا ہے۔ پیکیج کے استعمال میں آسانی، توسیع پذیری، اور بلٹ ان لنٹرز کا جامع سیٹ اسے بہت سے گو ڈویلپرز کے لیے ایک مقبول انتخاب بناتا ہے۔





GolangCI Lint Go سورس کوڈ کا تجزیہ کرتا ہے اور اعلی کارکردگی کے تجزیے اور مسلسل انضمام (CI) سپورٹ کے لیے فعالیت کے ساتھ ممکنہ کیڑے، سیکیورٹی کے مسائل، اور کوڈنگ اسٹائل کی خلاف ورزیوں پر فیڈ بیک فراہم کرتا ہے۔

Golangci-lint پیکیج کو انسٹال کرنے کے لیے اس ٹرمینل کمانڈ کو اپنے پروجیکٹ کی ورکنگ ڈائرکٹری میں چلائیں۔



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

پیکیج کو انسٹال کرنے کے لیے آپ کا گو ورژن 1.19 یا اس کے بعد کا ہونا چاہیے۔ آپ بھی چیک کر سکتے ہیں۔ golangci-lint تنصیبات دیگر دستیاب تنصیب کے طریقوں کے لیے صفحہ۔

کمانڈ آپ کے سسٹم پر CLI ٹول کے طور پر GolangCI انسٹال کرے گی۔ آپ اس کمانڈ سے انسٹالیشن کی تصدیق کر سکتے ہیں:





اگر آپ فیس بک پر کسی کو غیر دوست بناتے ہیں تو کیا آپ ان سے دوبارہ دوستی کر سکتے ہیں؟
 golangci-lint --version 

کمانڈ کو آپ کے انسٹال کردہ گولانگسی لِنٹ کا ورژن دکھانا چاہیے۔

لنٹر کو ترتیب دینا

لنٹر بہت ورسٹائل ہیں۔ ، لہذا لنٹر انسٹال کرنے کے لیے، آپ کو اپنے پروجیکٹ کے لیے لنٹر کو کنفیگر کرنا ہوگا۔





دی golangci-lint آلے کا استعمال کرتا ہے ترتیب کے لیے YAML فائلیں۔ . آپ پیکج کو پڑھنے کے لیے YAML فائل میں اپنے لنٹر کی ترتیبات کی وضاحت کریں گے۔

آپ اس کمانڈ کا استعمال کرکے ڈیفالٹ کنفیگریشن فائل بنا سکتے ہیں۔

 golangci-lint config > .golangci.yml 

کمانڈ نام سے ایک نئی فائل بناتی ہے۔ .golangci.yml آپ کی موجودہ ڈائریکٹری میں۔ آپ اپنے پروجیکٹ کے لیے لنٹر کو ترتیب دینے کے لیے اس فائل میں ترمیم کرنے کے لیے آگے بڑھ سکتے ہیں۔

کے مندرجات یہ ہیں۔ .golangci.yml فائل جب آپ کمانڈ چلاتے ہیں:

  Golangci-lint YAML فائل کے استعمال کی ہدایات

فائل کے بارے میں معلومات پر مشتمل ہے۔ golangci-lint ٹول اور وہ اختیارات جو آپ اپنی فہرست سازی کے عمل کو ترتیب دینے کے لیے استعمال کر سکتے ہیں۔

آپ کو اپنے پروگرام کے لیے لنٹنگ کے اصول شامل کرنے کے لیے فائل میں ترمیم کرنے کی ضرورت ہوگی۔ آپ پر دستیاب لنٹرز کی مکمل فہرست تلاش کر سکتے ہیں۔ golangci-lint Linters دستاویزات کا صفحہ۔ یا آپ چلا سکتے ہیں۔ مدد لینٹرز اپنی کمانڈ لائن پر لنٹرز کو دیکھنے کے لئے کمانڈ:

انسٹال شدہ پروگراموں کو دوسری ڈرائیو میں منتقل کریں۔
 golangci-lint help linters 

کمانڈ آپ کے انسٹال کردہ پیکیج کے ورژن کے لیے دستیاب تمام لنٹرز کو آؤٹ پٹ کرتی ہے۔

  Golangci-lint پر مدد کمانڈ چلانے کا نتیجہ

لنٹر چلانا

یہاں مندرجہ ذیل 'ہیلو، ورلڈ!' کو لنٹنگ کرنے کا ایک مظاہرہ ہے۔ پروگرام جو استعمال کرتا ہے۔ net/http پیکیج:

 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)
}

یہ پروگرام ایک کی وضاحت کرتا ہے۔ ہینڈلر فنکشن جو مصنف میں لیتا ہے اور سے مثالوں کی درخواست کرتا ہے۔ http پیکج رسپانس رائٹر اور درخواست ساخت کی اقسام دی ہینڈلر فنکشن لکھتا ہے 'ہیلو، ورلڈ!' درخواست پر کلائنٹ کو.

دی مرکزی فنکشن ماؤنٹ کرتا ہے۔ / کا راستہ ہینڈلر فنکشن، اور سنیں اور خدمت کریں۔ فنکشن سرور کو لوکل ہوسٹ پورٹ پر شروع کرتا ہے۔ 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-lint ٹول ورسٹائل ہے، اور آپ کی ترتیب آپ کے پروجیکٹ کی بنیاد پر مختلف ہوگی۔

آپ ESLint کے ساتھ اپنے جاوا اسکرپٹ پروجیکٹس کو لنٹ کر سکتے ہیں۔

لنٹنگ سافٹ ویئر کی ترقی کا ایک مقبول کام ہے، اور زیادہ تر پروگرامنگ زبانیں اور IDEs linting پروگراموں کے لیے ٹولز فراہم کرتے ہیں۔ JavaScript کے لیے، ESLint سب سے زیادہ مقبول لنٹر ہے۔

Eslint linting کے متعدد قواعد فراہم کرتا ہے جو CLI، IDE، اور ٹیکسٹ ایڈیٹر ٹولز میں صنعتی معیارات کی پیروی کرتے ہیں، جس سے linting ٹول JavaScript کے ڈویلپرز کے لیے بہترین انتخاب ہے۔