我在我的应用中添加了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用于包名称的模式?
答案 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_$]*'