Ce référentiel contient une collection de vérifications de peluche Android / Kotlin personnalisées que nous utilisons dans nos bases de code Android et Kotlin à Slack.
Bien que nous publions des artefacts à Maven Central, certains des chèques de peluches ne peuvent vraiment être pertinents que pour la base de code de Slack. Nous les développons à l'air ouvert aux connaissances avec la communauté.
Ajoutez la dépendance à la configuration lintChecks . Remarque Pour les projets non Android, vous devez appliquer le plugin com.android.lint Gradle pour l'utiliser.
dependencies {
lintChecks( " com.slack.lint:slack-lint-checks:<version> " )
} Le package slack.lint.mocking contient plusieurs détecteurs et utilitaires pour détecter la moquerie des types qui ne devraient pas être moqués. Ceci est similaire à DoNotMockChecker d'errorProne et agit comme une couche d'application des API et des classes annotées avec @DoNotMock . Cela détecte également les types communs qui ne devraient jamais être moqués, tels que les classes data Kotlin ou les classes d'autovalue.
Afin d'écrire du code plus inclusif, nous avons un outil InclusiveNamingChecker pour vérifier une liste configurable de noms non inclusifs.
MoshiUsageDetector contient une multitude de vérifications pour les erreurs de programmeur courantes lors de la rédaction de cours pour une utilisation avec Moshi et Moshix.
JavaOnlyDetector - détecte l'utilisation des API Java uniquement de Kotlin. Basé sur l'implémentation inédite originale dans les vérifications Uber / Lint.DaggerKotlinIssuesDetector - détecte certains problèmes connus lors de l'utilisation du poignard dans le code Kotlin.RetrofitUsageDetector - détecte certains problèmes courants lors de l'utilisation de Retrofit.DenyListedApi - détecte l'utilisation d'API qui ne devrait tout simplement pas être utilisée.MustUseNamedParams - peut être utilisé sur des fonctions qui doivent toujours utiliser les paramètres nommés. Utile pour les API qui ont beaucoup de paramètres et / ou peuvent modifier leur commande et vous souhaitez conserver les modifications compatibles avec la source. 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.