eslint 中有否认"assign, then return"模式的规则吗?



我想拒绝在代码中使用以下模式:

function do_something_bad() {
// bad
const x = do_something_else();
return x;
}
function do_something_good() {
// good
return do_something_else();
}

对我来说,这看起来很奇怪,而且纯粹是风格问题,所以eslint应该是一个很好的处理方法(我愿意接受建议,任何其他linter也可以,我只是配置了eslint,所以问一下(。有没有任何规则(或者可能是插件(我可以安装/启用,只需要";好的"选项

作为背景,我主要是python人,它的灵感来自flake8R504(来自flake8-return插件(错误。它也存在于tslintMicrosoft扩展中;归档和只读";(规则no-unnecessary-local-variable(。

经过一番研究,我发现"sonarjs";ESLint插件有prefer-immediate-return规则(默认情况下已启用(用于这种情况。使用这个插件运行esint可以揭示所有这些用法(以及其他一些风格缺陷(。

(我与这个插件没有任何关系(

最新更新