又一个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.versionsys.hexversion
  • 的比较
  • python语法错误
  • python语法警告
    • 总是正确的断言
    • python 3不再支持的语法结构
    • 对全局变量的赋值格式错误
    • 使用asyncawait作为名称
    • 字符串中的转义序列无效 (仅限Python 3.6+)

详见说明书。

先决条件

  • python 2.6+或3.2+
  • argparse(仅适用于python 2.6)
  • futures(仅适用于python 2.x)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java搜索文本中的字符串模式   SecurityManager引发异常的java Mockito模拟   java(仅限Netbeans)未找到适合jdbc的驱动程序:mysql://localhost   java计算给定字符串所有前缀的哈希值的子字符串的哈希值   java如何避免每次访问REST认证API以使用实际服务   用于HTML的java Jsoup选择器组合   可以复制或引用的java构造函数   Java中的HashMap。搞砸containsKey返回意外值   java数组平均值计算   java是检查字符串是否包含特定字符的最有效方法   java反序列化对象类已更改   java典型的EJB3/JPA/JSF中的事务范围是什么?   Install4j的java错误代码20   java:compileJava在本地项目()依赖项上的多模块项目上持续失败“错误:包x.y.z不存在”   java有一种生成Suppression的方法。现有代码库中checkstyle的xml文件?