ساده سازی کد کاتلین با Ktlint — راهنمای کاربردی

۷۱ بازدید
آخرین به‌روزرسانی: ۰۱ مهر ۱۴۰۲
زمان مطالعه: ۲ دقیقه
ساده سازی کد کاتلین با Ktlint — راهنمای کاربردی

زمانی که از lint صحبت می‌شود، اغلب توسعه‌دهندگان فکر می‌کنند که به راهنمای سبک کدنویسی مربوط است، اما lint محدود به این نیست. Lint کردن به فرایند آنالیز کد برای خطاهای بالقوه گفته می‌شود. در این مقاله به توضیح روش ساده سازی کد کاتلین با Ktlint می‌پردازیم.

فهرست مطالب این نوشته

به عنوان یک توسعه‌دهنده اندروید اگر از زبان کاتلین استفاده می‌کنید، باید مطمئن شوید که کدتان تمیز و مناسب نوشته شده است. اغلب توسعه‌دهندگان اندروید همچنان تحت تأثیر استایل کدنویسی جاوا هستند و برخی نیز مشغول مطالعه در مورد راهنمای استایل کاتلین (+) هستند.

Ktlint (+) می‌تواند دستیار ما باشد، یک linter که برای تبدیل شدن به فرمت استاندارد نوشتن کد کاتلین ساخته شده است و دارای سادگی، بسط‌پذیری و جامعه کاربری فعال است. اینک سؤال این است که چگونه می‌توانیم از Ktlint در پروژه خود استفاده کنیم. ابتدا می‌توانید ارجاعات وب‌سایت Ktlint را بخوانید. در آنجا روش‌های مختلفی برای پیاده‌سازی معرفی شده است. در این مقاله تنها یکی از این روش‌ها را معرفی می‌کنیم.

شروع

فایل را در root پروژه باز کنید و افزونه JLLeitschuh/ktlint-gradle را به پروژه اضافه کنید:

1plugins {
2    id("org.jlleitschuh.gradle.ktlint") version Versions.ktlintPlugin
3}

سپس قواعد Ktlint را تنظیم کنید:

1ktlint {
2    version.set(Versions.ktlint)
3    debug.set(true)
4    verbose.set(true)
5    android.set(false)
6    outputToConsole.set(true)
7    reporters.set(setOf(ReporterType.PLAIN,ReporterType.CHECKSTYLE))
8    ignoreFailures.set(true)
9    kotlinScriptAdditionalPaths {
10        include(fileTree("scripts/"))
11    }
12    filter {
13        exclude("**/generated/**")
14        include("**/kotlin/**")
15    }
16}

این کد را نیز اضافه کنید تا ktlint بتواند همه پروژه‌های فرعی را نیز بررسی کند:

1subprojects {
2    apply(plugin = "org.jlleitschuh.gradle.ktlint")
3}

برای کسب اطلاع بیشتر به کد زیر نگاه کنید:

فایل build.gradle

1ext.ReporterType = org.jlleitschuh.gradle.ktlint.reporter.ReporterType
2
3apply plugin: "org.jlleitschuh.gradle.ktlint"
4
5ktlint {
6    version = "0.34.2"
7    debug = true
8    verbose = true
9    android = false
10    outputToConsole = true
11    reporters = [ReporterType.PLAIN, ReporterType.CHECKSTYLE]
12    ignoreFailures = true
13    enableExperimentalRules = true
14    additionalEditorconfigFile = file("/some/additional/.editorconfig")
15    kotlinScriptAdditionalPaths {
16        include fileTree("scripts/")
17    }
18    filter {
19        exclude("**/generated/**")
20        include("**/kotlin/**")
21    }
22}
23
24buildscript {
25    repositories {
26        maven {
27            url "https://plugins.gradle.org/m2/"
28        }
29    }
30    dependencies {
31        classpath "org.jlleitschuh.gradle:ktlint-gradle:8.2.0"
32    }
33}
34
35allprojects {
36    /* no need configuration */
37
38}
39
40subprojects {
41    apply plugin: "org.jlleitschuh.gradle.ktlint"
42}
43
44task clean(type: Delete) {
45    delete rootProject.buildDir
46}

فایل build.gradle.kts

1import org.jlleitschuh.gradle.ktlint.reporter.ReporterType
2
3plugins {
4    id("org.jlleitschuh.gradle.ktlint") version Versions.ktlintPlugin // "8.2.0"
5}
6
7ktlint {
8    version.set(Versions.ktlint) // "0.34.2"
9    debug.set(true)
10    verbose.set(true)
11    android.set(false)
12    outputToConsole.set(true)
13    reporters.set(setOf(ReporterType.PLAIN, ReporterType.CHECKSTYLE))
14    ignoreFailures.set(true)
15    kotlinScriptAdditionalPaths {
16        include(fileTree("scripts/"))
17    }
18    filter {
19        exclude("**/generated/**")
20        include("**/kotlin/**")
21    }
22}
23
24buildscript {
25    /* no need configuration */
26}
27
28allprojects {
29    /* no need configuration */
30}
31
32subprojects {
33    apply(plugin = "org.jlleitschuh.gradle.ktlint")
34}
35
36tasks.register("clean", Delete::class) {
37    delete(rootProject.buildDir)
38}

بررسی نهایی

در نهایت باید گفت که استفاده از Ktlint ساده است، کافی است ترمینال را باز کرده و gradlew ktlintCheck/. را اجرا کنید. ممکن است با هشدار زیر مواجه شوید.

Ktlint

Ktlint

برای حل مشکل اول باید دو کاراکتر فاصله قبل از علامت = را به یک کاراکتر فاصله کاهش دهیم.

Ktlint

Ktlint

برای اصلاح مشکل بعدی باید کاراکتر فاصله را قبل از ( بررسی کنیم.

بدین ترتیب به پایان این راهنما می‌رسیم. موارد زیاد دیگری وجود دارند که هنگام استفاده از ktlint باید در نظر داشته باشید. برای مطالعه بیشتر پیشنهاد می‌کنیم به مستندات این کتابخانه (+) مراجعه کنید.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
proandroiddev
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *