我想介绍一个PHP 可读的 linter 。现在,它包含16条规则,这些规则应该可以提高代码的可读性。主要优点包括:
- 速度 -每1000个文件少于一秒
- 基准设置 -您不能一次修复项目中的所有错误,而是创建具有当前错误的配置。并忽略它们,但对新的做出反应。
- 规则比类比(主观)更容易编写
两个重要的免责声明:
安装和启动
可读通过npm安装:
$ npm install @officient/readable --save-dev
安装后,您需要创建一个配置文件:
$ npx readable --init
您可以运行:
$ npx readable
规则
当前有16条可读的规则:
- namespace-max-files-名称空间中的最大文件数
- 参数覆盖 -禁止更改函数参数的值
- file-max-size-文件中的最大行数
- 空捕获 -禁止空
catch
块 - class-comment — - ,
- forbidden-functions — (
eval
,print_r
...) - missing-braces —
if
,for
... - variable-length — (
$id
,$i
) - function-max-size —
- loop-max-size —
- forbidden-function-prefix — . ,
checkSomething
— , ? - if-assigment —
if
- complex-if —
&&
||
if
- ternary-max-length —
- loop-max-nest —
- max-nest —
readable , . — . , - , :
- readable . , .
- . , .
让我们以loop-max-size规则为例。他所有的代码:
const loops = ['for', 'foreach'];
module.exports = {
check(maxLines, tokens, report) {
tokens.matchAll(loops, (token) => {
const end = token.copy().step().stepToClosing(); // skip ()
end.step().stepToClosing();
const lines = (end.current().line - token.current().line);
if (lines > maxLines) {
report(`Loop is longer than ${maxLines} lines [${lines}].`, token.current());
}
});
},
};
该规则指出:
- 找到一切
for
和foreach
。 - 取下一个标记
.step()
,它将是一个开放的括号(
。转到右括号.stepToClosing()
。 - 重复第二步,但要循环的主体(
{
和}
)。 - 检查脚踏车体的长度。
而不是结论
我在项目中使用可读性作为代码的附加代码。我喜欢一切,尤其是基线(公平地说,诗篇也有这个)。他有机会占领辅助短绒棉the。