ساده سازی کد کاتلین با 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 باید در نظر داشته باشید. برای مطالعه بیشتر پیشنهاد میکنیم به مستندات این کتابخانه (+) مراجعه کنید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی اندروید
- مجموعه آموزشهای برنامهنویسی
- آموزش مقدماتی زبان برنامه نویسی کاتلین (Kotlin) برای توسعه اندروید (Android)
- برنامه نویسی Kotlin — مقدمهای بر برنامهنویسی اندروید با زبان کاتلین
- برنامه نویسی Kotlin — ایجاد الگوهای طراحی اندروید با کاتلین
==