各检测工具比对:
PYLint
检查的要求比较严格,即检查问题也同时按PEP8检查代码风格.
PyFlakes
检查的严格性适中,主要是检查明显的问题
flake8
包含检查问题(pyflakes)及代码风格(PEP8)
Pycharm IDE
软件开发集成环境,内置了代码问题检测及PEP8风格的建议。
还支持直接的代码风格优化。CTRL+ALT+L 一键完成。
isort
优化py代码中的导入库
以上工具除了pycharm外都能通过pip方便的安装。
比对感受:
PyCharm集成功能很多,包含了代码问题检查与风格提示。不过开发集成环境毕竟比较大,有时手上的代码代码喜欢直接用Notepad++等编辑软件打开。
所以不少用户其实不会使用类似PyCharm这种比较重的IDE的习惯,这就需要轻量级的py代码检测解决方案;
另外在一些自动化的流程上,比如利用git hook做code style校验,或者CI上,这些经常需要配置在Server上的场景就更偏好CLI方式的工具了。
作为一个pythoner,pyLint 和 PyFlakes 都安装并体验一下较好。
了解熟悉lint等 工具的原理,做一些更深入的使用(我猜测PyCharm集成到内部的lint工具其实使用的也是这种lint的命令行工具,只是对上进行了封装);
另外:GG有一个py代码格式化工具YAPF,在py代码没有问题的情况下,可以直接使用YAPF对PY代码进行优化。类似pycharm中的(ctrl+alt+L)
实际使用建议
自动化:pycharm 直接 ctrl+alt+L
要求不高:pyflakes or flake8 + YAPF
要求严格:pyLint 按内容一个个手工确认并修改
pylint MESSAGE_TYPE 有如下几种:
(C) 惯例。违反了编码风格标准
(R) 重构。写得非常糟糕的代码。
(W) 警告。某些 Python 特定的问题。
(E) 错误。很可能是代码中的错误。
(F) 致命错误。阻止 Pylint 进一步运行的错误。
pylint 更多使用说明:https://www.jb51.net/article/137810.htm