一定要注重代码规范,按照平时的代码管理,可以将Python代码规范检测分为两种:
- 静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一下,用Flake8的相对较多,功能满足,本文将使用Flake8
- git:可借助git hooks,本文推荐使用pre-commit。
静态本地检测
Flake8包装了Pyflakes、Pycodestyle和McCabe,也可以自定义插件。功能包括:
- 检查代码是否符合PEP8
- 检查是否包含语法错误和未使用的变量和导入
- 检查代码的复杂度
pip install flake8
配置
推荐在pycharm中配置flake8:
参数说明:
- Program中填写Flake可执行文件的具体路径
- arguments中可添加自定义参数,比如设置每行的最大字符数,过滤某些文件(夹)等。
安装完了之后单击就可以检测了:
执行检测之后,如果出现 exit code 0
就说明代码规范,否则可按照提示进行整改。
pre-commit
官网: https://pre-commit.com/
介绍:
使用git的话,可以使用pre-commit钩子,在调用 git commit
命令时会自动执行脚本进行检测,若代码出错,则不会commit成功。
作用:
- 在
git commit
命令之前对代码进行规范性检测 - 按照配置,对一些不符合规范的代码自动更新为规范的(比如:填充空格、更新import等)
- 提示更新之后仍不符合规范的代码
安装
pip install pre-commit
Linux中安装完成即可执行pre-commit命令,Windows中需将.exe的路径添加至环境变量,方可执行pre-commit命令。
配置
在项目根目录下添加.pre-commit-config.yaml文件。
可参考官网样例,:
repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 hooks: - id: check-yaml - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/psf/black rev: 19.3b0 hooks: - id: black - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 hooks: - id: flake8 args: - --max-line-length=120
具体的配置可结合官网或github中的说明文档进行相关配置更新。
安装
执行 pre-commit install
命令,会在.git/hook路径下生成pre-commit文件,这样就保证了pre-commit安装成功,可以正常使用了。
然后执行:
更新配置文件只需要执行 pre-commit install
即可。
使用
配置完成之后,在 git commit
之前都会执行刚才的配置,可根据执行的结果来更新或者提交代码。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“深入浅析Python代码规范性检测”评论...
更新日志
2024年12月25日
2024年12月25日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]