Этот репозиторий содержит коллекцию пользовательских проверок Android/Kotlin Lint, которые мы используем в наших базах кода Android и Kotlin в Slack.
В то время как мы публикуем артефакты в Maven Central, некоторые проверки Lints могут действительно иметь отношение только к кодовой базе Slack. Мы разрабатываем их в открытом рамке для знаний с сообществом.
Добавьте зависимость в конфигурацию lintChecks . Примечание для не-андроидных проектов, вы должны применить плагин com.android.lint Gradle, чтобы использовать это.
dependencies {
lintChecks( " com.slack.lint:slack-lint-checks:<version> " )
} Пакет slack.lint.mocking содержит несколько детекторов и утилит для обнаружения издевательства о типах, которые не следует издеваться. Это похоже на DoNotMockChecker от ErrorProne и выступает в качестве принудительного уровня для API и классов, аннотированных с @DoNotMock . Это также обнаруживает общие типы, которые никогда не следует издеваться, например, классы data Kotlin или классы Autovalue.
Чтобы написать более инклюзивный код, у нас есть инструмент InclusiveNamingChecker для проверки настраиваемого списка не инклюзивных имен.
MoshiUsageDetector содержит множество чеков на общие ошибки программиста при написании классов для использования с Moshi и Moshix.
JavaOnlyDetector - обнаруживает использование API -интерфейсов только для Java от Kotlin. На основе оригинальной не выпущенной реализации в Uber/Lint-проверках.DaggerKotlinIssuesDetector - обнаруживает некоторые известные проблемы при использовании кинжала в коде Котлина.RetrofitUsageDetector - обнаруживает некоторые общие проблемы при использовании модернизации.DenyListedApi - обнаруживает использование API, которые просто не следует использовать.MustUseNamedParams - могут использоваться на функциях, которые всегда должны использовать именованные параметры. Полезно для API, которые имеют много параметров и/или могут изменить их заказ, и вы хотите сохранить изменения, совместимые с источником. 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.