https://github.com/Trim21/find-trailing-comma
好几次不小心在句尾多敲了一个逗号,半天 debug 不出问题。
找了一圈又没有任何一个 lint 工具或者格式化工具能帮我。
迫于无奈自己写了一个
a = 1, # not ok
b = 1, # not ok
d = (1, ) # ok
c = {1, 2,
3, 4}, # not ok
只有在下面两个条件都满足的情况下才会报错
- 这个 tuple 只有一个元素,无论这个元素的形式有多么复杂(感谢 ast,省下了很多功夫)
- 整个 tuple 没有用括号括起来
这是我唯一想到的可能会引起问题的写法
这是一个用在 pre-commit 中的钩子,如果你想要使用请参照文档 https://pre-commit.com/
在项目的.pre-commit-config.yaml添加如下配置,就可以生效了
- repo: https://github.com/Trim21/find-trailing-comma
rev: v0.0.1
hooks:
- id: find-trailing-comma
效果如下
Find trailing commas.....................................................Failed
hookid: find-trailing-comma
my_project/cli.py:533 has single element tuple with no brackets "a = 1,"
只支持 python3,python2 未经测试,说不定也能跑