Sonarqube Javascript 规则 "Function names should comply with a naming convention" 不适用于变量中声明的函数

Sonarqube Javascript rule "Function names should comply with a naming convention" doesn't work with functions declared in variables

几天前我开始使用 Sonarqube,但我对 Javascript 规则“函数名称应符合命名约定”有疑问。

我的一些开发人员不遵守命名函数的命名约定,大多数时候他们这样定义函数:

onTextfieldChange1111111: function(field, newValue, oldValue, eOpts) {
...
}

而且这个方法似乎没有触发规则 "Function names should comply with a naming convention"。

是否需要特定的配置才能使其正常工作?还是有其他规则来检查这个?

这个特殊的 Sonarqube 规则使用正则表达式来检查函数名称。默认情况下,它使用此表达式:

^[a-z][a-zA-Z0-9]*$

您问题中的函数名称与此正则表达式匹配。如果你想检查其他东西,你可以自己改变默认的正则表达式。 (您可能必须以管理员身份登录才能更改默认设置)。

我认为此特定规则仅适用于定义为

的函数
function thisIsMyFunction()

而不是定义为变量的函数。 AFAIK 没有检查后者的 Sonarqube 规则。事实上,甚至有一条 Sonarqube 规则鼓励开发人员将函数定义为变量,如果它们是在代码块中定义的(请参阅“函数声明不应在块内进行”JavaScript规则)

我知道你可以 write and add your own Sonarqube rules,但我自己没有这方面的经验。