在俄文文本中查找拼写错误的包。

mr-proper的Python项目详细描述


普洛普先生

Build StatusPyPI versionMaintainabilityTest Coverage

静态Python代码分析器,它尝试检查代码中的函数是否 pure或者不是,为什么。在

Have fun with mr Clean

DISCLAIMER:这个库非常具有实验性,并且有很多边缘案例。 恰当先生标记为纯的函数不可能是纯的,但它们是纯的 通常比其他功能更干净。在

安装

pip install mr_proper

什么先生的支票

  1. 该函数没有黑名单调用(比如print) 和黑名单属性访问(如smth.count
  2. 该函数不使用全局对象(只使用局部变量和函数参数)
  3. 该函数至少有一个返回值
  4. 这个函数不会改变它的参数
  5. 该功能没有本地进口
  6. 该函数没有禁止类型的参数(比如ORM对象)
  7. 该函数不使用selfclass或{}
  8. 该函数只调用纯函数。在

这个列表不足以说明函数是纯函数和某些点 争议很大,但这是个好的开始。在

示例

控制台用法:

^{pr2}$
$ mr_propper test.py
add_one is pure!
print_amount_of_users is not pure because of:
    it uses forbidden argument types (QuerySet)
    it calls not pure functions (print)
    it has no return

Python代码示例中的用法:

>>> import ast
>>> from mr_propper import is_function_pure
>>> funcdef = ast.parse('''
    def add_one(n: int) -> int:
        return n + 1
''').body[0]
>>> is_function_pure(funcdef)
True
>>> is_function_pure(funcdef, with_errors=True)
(True, [])

参数

CLI界面:

  • filepath:要检查的.py文件的路径(目前不支持目录)
  • ^{7>要求内部函数为纯函数。在

代码先决条件

  1. Python 3.7+
  2. 全注释函数
  3. 没有动态调用(如getattr(sender, 'send_' + message_type)(message))。在

贡献

我们希望你能为我们的项目作出贡献。很简单:

  1. 用你发现的错误或者你的建议来创建一个问题。 等待维护人员的批准。在
  2. 创建拉取请求。确保所有的支票都是绿色的。在
  3. 修正评审意见(如果有的话)。在
  4. 太棒了。在

以下是一些有用的提示:

  • 您可以使用make check运行所有检查和测试。 请在特拉维西做之前。在
  • 我们使用BestDoctor python styleguide。 抱歉,styleguide目前只有俄语版本。在
  • 我们尊重Django CoC。 温柔点,不要胡扯。在

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

推荐PyPI第三方库


热门话题
java矢量图像被拉伸   java如何检查为8085模拟器设置的标志   java更改动态数据列表显示的宽度   重载Java:允许使用一个varargs参数的函数和具有相同名称和一个相同类型参数的函数?   java Google应用程序引擎搜索API赋予某些字段比其他字段更高的优先级   java如何确定Textview在RelativeLayout中的位置   参数按日期排序。比较器。JAVA   继承在Java中,当类A继承类B时,堆中会发生什么   java javafx使用来自MainController或适当控制器类中其他控制器的对象   java ElasticSearch如何从3000万个文档中快速查询一个结果