القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

Linting هو نوع من تحليل الكود الثابت لتحديد أخطاء قاعدة البيانات المحتملة. يقوم Linters بتحليل التعليمات البرمجية بحثًا عن أخطاء في بناء الجملة وقضايا النمط. يمكن أن تساعد هذه العملية في منع الأخطاء وتحسين إمكانية القراءة وفرض أفضل الممارسات وتوفير الوقت.

Linting هي ممارسة قياسية في تطوير البرمجيات. على الرغم من عدم وجود linter مدمج في مكتبة Go القياسية ، إلا أن العديد من أدوات الفحص التابعة لجهات خارجية موجودة في النظام البيئي Go. وتشمل هذه حزم GolangCI Lint و Go Meta Linter و Staticcheck.

حزمة GolangCI Lint

حزمة golangci-lint هي أداة لينتر قوية ومرنة لـ Go يمكنها مساعدتك في تحديد أخطاء التعليمات البرمجية وإصلاحها. سهولة استخدام الحزمة ، وقابليتها للتوسع ، ومجموعة شاملة من النترات المدمجة تجعلها خيارًا شائعًا للعديد من مطوري Go.

يقوم GolangCI Lint بتحليل كود مصدر Go ويقدم ملاحظات حول الأخطاء المحتملة ومشكلات الأمان و انتهاكات أسلوب الترميز مع وظائف التحليل عالي الأداء والتكامل المستمر (CI) يدعم.

instagram viewer

قم بتشغيل هذا الأمر الطرفي في دليل عمل مشروعك لتثبيت حزمة Golangci-lint:

انتقل إلى تثبيت github.com/golangci/golangci-lint/cmd/[email protected]

يجب أن يكون إصدار Go 1.19 أو إصدارًا أحدث حتى يتسنى للأمر تثبيت الحزمة. يمكنك أيضًا التحقق من منشآت golangci-lint صفحة لطرق التثبيت الأخرى المتاحة.

سيقوم الأمر بتثبيت GolangCI على نظامك كأداة CLI. يمكنك التحقق من التثبيت باستخدام هذا الأمر:

golangci-lint - الإصدار

يجب أن يعرض الأمر إصدار golangci-lint الذي قمت بتثبيته.

تكوين Linter

الوبر متعددة الاستخدامات، لذلك لتثبيت linter ، يجب عليك تكوين linter لمشروعك.

ال جولانجسي لينت يستخدم الأداة ملفات YAML للتكوين. ستحدد إعدادات linter في ملف YAML للحزمة لقراءتها.

يمكنك إنشاء ملف تكوين افتراضي باستخدام هذا الأمر:

golangci-lint config> .golangci.yml

يقوم الأمر بإنشاء ملف جديد يسمى .golangci.yml في دليلك الحالي. يمكنك المتابعة لتحرير هذا الملف لتكوين linter لمشروعك.

إليك محتويات ملف .golangci.yml ملف عند تشغيل الأمر:

يحتوي الملف على معلومات حول جولانجسي لينت أداة والخيارات التي يمكنك استخدامها لتكوين عملية الإدراج الخاصة بك.

ستحتاج إلى تحرير الملف لإضافة قواعد الفحص لبرنامجك. يمكنك العثور على القائمة الكاملة للنباتات المتوفرة على golangci-lint linters صفحة التوثيق. أو يمكنك تشغيل ملف يساعد في linters الأمر لعرض linters على سطر الأوامر الخاص بك:

golangci-lint مساعدة لينت

يقوم الأمر بإخراج جميع Linters المتاحة لإصدار الحزمة التي قمت بتثبيتها.

تشغيل لينتر

إليك عرض توضيحي لفحص "Hello، World!" البرنامج الذي يستخدم صافي / http طَرد:

طَرد رئيسي

يستورد (
"FMT"
"net / http"
)

funcمعالج(w http. ResponseWriter ، r * http. طلب) {
FMT. Fprintf (ث ، "مرحبا بالعالم!")
}

funcرئيسي() {
http. مقبض"/"، معالج)
http. استمع و سيرف (":8080", لا شيء)
}

يعرّف هذا البرنامج ملف معالج الوظيفة التي تأخذ الكاتب وتطلب المثيلات من http الحزمة ResponseWriter و طلب أنواع الهيكل. ال معالج وظيفة تكتب "Hello، World!" للعميل عند الطلب.

ال رئيسي وظيفة يتصاعد / الطريق إلى معالج وظيفة ، و استمع وخدم وظيفة تبدأ الخادم على منفذ المضيف المحلي 8080.

ال استمع وخدم تقوم الدالة بإرجاع خطأ ، لكن البرنامج يتجاهله. سيضمن هذا التكوين أن linter يسلط الضوء على المشكلة:

إعدادات linters:
ميت كود:
# تجاهل جميع ملفات الاختبار
تخطي الملفات: "_test \\. go $"
الحكومة:
# تعطيل الاختيار التظليل
التحقق من التظليل: خطأ شنيع
golint:
# تجاهل الأخطاء المتعلقة بأسماء الوظائف المصدرة
استبعاد الاستخدام-تقصير-المصدر: حقيقي

# تجاهل الأخطاء المتعلقة بالشرطات السفلية في طَرد الأسماء
استبعاد التسمية عديمة الفائدة: حقيقي
gosec:
# تعطيل اختبارات gosec ، لأنها بطيئة ويمكن أن تنتج خطأ شنيع الايجابيات
الاختبارات: خطأ شنيع
غير مستعمل:
# الإبلاغ عن وسيطات الدالة غير المستخدمة ، ولكن ليس المتغيرات غير المستخدمة
الشيك المصدّر: حقيقي
شيك فارغ: حقيقي
اختبارات الفحص: حقيقي

بعد ضبط تكوين linter هذا ، يمكنك تشغيل linter باستخدام ملف يجري يأمر:

golangci-lint المدى

# ما يعادله ، يدير جميع البرامج
golangci-lint run. / ...

بدلاً من ذلك ، يمكنك فحص ملفات معينة عن طريق تحديد اسم الملف أو المسار بعد ملف يجري يأمر:

 golangci-lint تشغيل dir1 dir2 /... dir3 / file1.go

إليك نتيجة تشغيل linter مقابل البرنامج:

ال جولانجسي لينت أداة متعددة الاستخدامات ، وسيختلف التكوين الخاص بك بناءً على مشروعك.

يمكنك فحص مشاريع JavaScript الخاصة بك باستخدام ESLint

Linting هي مهمة تطوير برمجيات شائعة ، وتوفر معظم لغات البرمجة و IDE أدوات لبرامج الفحص. بالنسبة لجافا سكريبت ، فإن ESLint هي أكثر لينتر شعبية.

توفر Eslint قواعد فحص متعددة تتبع معايير الصناعة في CLI و IDE وأدوات محرر النصوص ، مما يجعل أداة الفحص خيارًا رائعًا لمطوري JavaScript.