侦察蛇案包

时间:2017-08-23 18:01:19

标签: kotlin detekt

我在我的应用中添加了detekt,它抱怨我的包名约定。

我使用的是snake_cased包和CamelCased类。

例如:

package com.my_package

class MyClass

来自detekt的输出如下:

NamingConventionViolation - [MyClass.kt] at com/my_package/MyClass.kt:1:1

我有以下作为我的命名约定配置:

NamingConventionViolation:
    active: true
    variablePattern: '^(_)?[a-z$][a-zA-Z$0-9]*$'
    constantPattern: '^([A-Z_]*|serialVersionUID)$'
    methodPattern: '^[a-z$][a-zA-Z$0-9]*$'
    classPattern: '[A-Za-z$][a-zA-Z_.$]*'
    enumEntryPattern: '^[A-Z$][a-zA-Z_$]*$'

我更改了默认类Pattern,添加了以小写字母开头的可能性,并且在类名中有_,因为我知道detekt正在验证FQN,而不仅仅是名称。

所以,我的问题是:如何设置detekt用于包名称的模式?

1 个答案:

答案 0 :(得分:1)

您可以使用packagePattern规则中的NamingConventionViolation参数为包名称设置自己的模式。

e.g:

NamingConventionViolation:
    active: true
    variablePattern: '^(_)?[a-z$][a-zA-Z$0-9]*$'
    constantPattern: '^([A-Z_]*|serialVersionUID)$'
    methodPattern: '^[a-z$][a-zA-Z$0-9]*$'
    classPattern: '[A-Za-z$][a-zA-Z_.$]*'
    enumEntryPattern: '^[A-Z$][a-zA-Z_$]*$'
    packagePattern: '[a-zA-Z_$]*'