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: '^(_)?[az$][a-zA-Z$0-9]*$' constantPattern: '^([A-Z_]*|serialVersionUID)$' methodPattern: '^[az$][a-zA-Z$0-9]*$' classPattern: '[A-Za-z$][a-zA-Z_.$]*' enumEntryPattern: '^[AZ$][a-zA-Z_$]*$' 

我改变了默认的类模式,添加以小写字母开头的可能性,并且在类名中有_,因为我明白了这个模式正在验证FQN而不仅仅是名称。

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

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

例如:

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