代码静态分析

    主要可以做两点

    作为开发人员,在日常编码中,难免会范一些低级错误,比如少个括号,少个逗号,使用了未定义变量等等,我们往往会使用编辑器的 lint 插件来检测此类错误。

    我们可以通过 luarocks 来安装:

    使用也很方便,只需要 luacheck filename or directory 即可。

    除了使用命令行参数,luacheck 还支持使用配置文件的形式,这也是我们推荐的做法。luacheck 使用时会优先查找当前目录下的 .luacheckrc 文件,未找到则去上层目录查找,以此类推。所以我们可以在项目的根目录下放置一个我们配置好的 文件以便之后使用。

    一个 .luacheckrc 大概是这样子的:

    这里特别说一下的是,我们在项目中使用了 git pre-commit hooks 来进行静态检查,在 git commit 前会检测本次提交修改和新增的代码,判断是否通过了 luacheck 的检测,未通过会给出提示并询问是否退出这次 commit。这一切都是通过 git hooks 来做的,顾名思义我们的钩子是下在 commit 这个动作上的,只要进行了 commit 操作,就会触发我们的钩子。git 内置了一些钩子,不同的 git 操作会触发不同的钩子,这些钩子放在项目文件夹的 文件夹下,我们这里用到的是 pre-commit。