Repositori ini berisi kumpulan pemeriksaan serat Android/Kotlin khusus yang kami gunakan di pangkalan kode Android dan Kotlin kami di Slack.
Sementara kami menerbitkan artefak ke Maven Central, beberapa pemeriksaan serat mungkin hanya benar -benar relevan dengan basis kode Slack. Kami mengembangkan ini di tempat terbuka untuk berbagi pengetahuan dengan komunitas.
Tambahkan ketergantungan ke konfigurasi lintChecks . Catatan untuk proyek non-android, Anda harus menerapkan plugin lulusan com.android.lint untuk menggunakannya.
dependencies {
lintChecks( " com.slack.lint:slack-lint-checks:<version> " )
} Paket slack.lint.mocking berisi beberapa detektor dan utilitas untuk mendeteksi ejekan jenis yang tidak boleh diejek. Ini mirip dengan DoNotMockChecker dari ErrorProne dan bertindak sebagai lapisan penegakan ke API dan kelas yang dijelaskan dengan @DoNotMock . Ini juga mendeteksi tipe umum yang tidak boleh diejek, seperti kelas data Kotlin atau kelas autovalue.
Untuk menulis kode yang lebih inklusif, kami memiliki alat InclusiveNamingChecker untuk memeriksa daftar nama non-inklusif yang dapat dikonfigurasi.
MoshiUsageDetector berisi banyak cek untuk kesalahan programmer umum saat menulis kelas untuk digunakan dengan Moshi dan Moshix.
JavaOnlyDetector - Mendeteksi penggunaan API Java saja dari Kotlin. Berdasarkan implementasi asli yang belum pernah dirilis di Uber/Lint-checks.DaggerKotlinIssuesDetector - Mendeteksi beberapa masalah yang diketahui saat menggunakan belati dalam kode Kotlin.RetrofitUsageDetector - Mendeteksi beberapa masalah umum saat menggunakan retrofit.DenyListedApi - Mendeteksi penggunaan API yang tidak boleh digunakan.MustUseNamedParams - dapat digunakan pada fungsi yang harus selalu menggunakan parameter bernama. Berguna untuk API yang memiliki banyak parameter dan/atau dapat mengubah pesanan mereka dan Anda ingin menjaga perubahan yang kompatibel dengan sumber. Copyright 2021 Slack Technologies, LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.