又一个python代码的静态检查器
pydiatra的Python项目详细描述
概述
pydiatra是python代码的另一个静态检查器。
执行检查
- 嵌入式代码副本
- except阴影内置 (例如except IOError, OSError:,它覆盖OSError)
- 光的except (即except:)
- 硬编码errno值 (例如exc.errno == 2而不是exc.errno == errno.ENOENT)
- 缩进中不一致地使用制表符和空格
- mkstemp()文件描述符泄漏 (例如path = tempfile.mkstemp()[1])
- 过时的PIL导入 (例如import Image而不是from PIL import Image)
- 正则表达式语法错误
- 中的错误标记参数 re.split(),re.sub(),re.subn()
- 正则表达式中可疑或不推荐的构造:
- 重复范围 (例如re.compile("[aa]"))
- 重叠范围 (例如re.compile("[a-zA-z]"))
- 错误的转义序列 (例如re.compile(r"\eggs"))
- 错误放置的内联标志 (例如re.compile("eggs(?i)");仅限python 3.6+)
- 组合不兼容标志
- 冗余标志
- 字符串异常 (例如raise "eggs"或except "ham":)
- 字符串格式错误
- 与sys.version或sys.hexversion 的比较
- python语法错误
- python语法警告
- 总是正确的断言
- python 3不再支持的语法结构
- 对全局变量的赋值格式错误
- 使用async和await作为名称
- 字符串中的转义序列无效 (仅限Python 3.6+)
详见说明书。