detekt verify implementation
Version 1.2.6
이것은 Kotlin 용 정적 코드 분석기 인 Detekt 용 플러그인으로, 기본 유형에 적용되는 주석에 따라 구체적인 클래스가 지정된대로 구체적으로 구현되는지 확인할 수 있습니다.
다음과 같은 규칙이 포함되어 있습니다.
DataClass : 클래스를 데이터 클래스 또는 객체 선언으로 확장해야합니다. 이를 통해 equals 및 hashcode 구현, 즉 참조 평등 대신 가치 평등에 대한 예측 가능한 기본 구현이 보장됩니다.Immutable : 수업이나 확장 수업이 불변이 필요하지 않아야합니다. 그것들은 돌연변이 성 특성 (VAR) 또는 변이성 유형 (VAR 특성을 갖는 유형)의 특성을 포함하지 않을 수 있습니다.이 플러그인의 특성으로 인해 시맨틱 버전의 특정 맛이 사용되어 Linters에 더 적합합니다. 사소한 업데이트는 이전 릴리스보다 더 많은 오류를보고 할 수 있습니다.
Detekt Gradle 구성 블록을 통해 플러그인을로드하십시오.
그루비 DSL
detekt {
dependencies {
detektPlugins " dk.cachet.detekt.extensions:detekt-verify-implementation:1.2.5 "
}
} 이 플러그인은 유형 해상도를 사용하므로 기본 detekt 작업을 사용할 때 규칙이 실행되지 않습니다. Detekt 문서에 따라 detektMain 또는 사용자 정의 Detekt 작업을 사용하십시오.
기본적으로 규칙은 Detekt 구성 파일에서 활성화되지 않습니다. 규칙을 활성화하려면 active 로 설정하고 확인할 콘크리트 클래스를 결정하는 annotationClass 의 정규화 된 이름을 지정하십시오. 예를 들어:
verify-implementation :
DataClass :
active : true
annotationClass : " dk.cachet.carp.common.ImplementAsDataClass "
Immutable :
active : true
annotationClass : " dk.cachet.carp.common.Immutable " 주석 클래스를 찾을 수없고 규칙이 활성화되면 IllegalStateException 사항이 발생합니다.
assumeNoAnnotations 사용하여 완전한 유형 이름 목록을 지정하여 주석이 적용되지 않는 것으로 가정 할 수 있습니다. 플러그인이 주석을 전달하지 않는 것으로 알려진 클래스를 분석하지 못할 때 유용 할 수 있습니다.
verify-implementation :
Immutable :
active : true
annotationClass : " dk.cachet.carp.common.Immutable "
assumeNoAnnotations : ['kotlin.Any']추가 규칙 별 구성 옵션은 다음에 설명되어 있습니다.
assumeImmutable 확인되지 않고 불변으로 가정 된 자격을 갖춘 클래스 이름을 나열 할 수 있습니다. 플러그인이 불변으로 알고있는 클래스를 분석하지 못할 때 유용 할 수 있습니다. 예제 구성 : verify-implementation :
Immutable :
active : true
annotationClass : " dk.cachet.carp.common.Immutable "
includes : ['**/domain/**']
assumeImmutable : [
' dk.cachet.carp.common.DateTime ' ,
' kotlinx.serialization.json.Json '
]