2
Wincer 2020-08-28 15:58:28 +08:00
flake8 等静态检查工具应该都可以,merge 之前使用 ci 跑一下 flake8 检测,如果当前 flake8 运行的 Python 版本是 3.5,代码使用了 fstring,会报 syntax error,对应的 exit code 就不等于 0 。
|
3
fhsan 2020-08-28 16:11:13 +08:00
git pre-commit-hook 提交前,用 pylintrc 之类的工具检查
版本不对不允许提交 |
4
ruanimal 2020-08-28 17:01:01 +08:00
用 tox 吧,让单一测试包含多个 python 版本,不在支持版本内的就会报错
|
5
johnsona 2020-08-28 23:03:51 +08:00
跑个题,3.5 不是有序字典,建议换 3.6
答题,jenkinfile 的持续集成环节加入 pylint 检查。但如果是在 3.5 中误以为 dict 是有序字典,那检查不出 什么叫求感谢啊,战术后仰 |
6
black11black 2020-08-29 09:32:07 +08:00
兼容允许的情况应该尽量高才是,毕竟解释效率会优化啊
|
7
williamfzc OP @BingoXuan 也是一种办法了,不过有些工程不是一个库形态没有 setup.py ;
@jsisjs20130824 哈哈,这个题突然跑好远。pylint+tox 是阔以; @black11black 当然从开发者的角度我们肯定是希望支持越高越好,不过上生产确实有些特殊原因受限,在运维解决好这些问题之前我们只能在我们这一侧保障质量; |
8
BingoXuan 2020-08-29 14:15:22 +08:00 via Android
@williamfzc
因为我们公司就是习惯工程就是一个文件夹加一堆源码,每次有改动更新依赖和版本就各种问题。最好有类似前端的脚手架自动创建工程。脚手架安装好了,那么工程肯定没有问题。 |