在俄文文本中查找拼写错误的包。
mr-proper的Python项目详细描述
普洛普先生
静态Python代码分析器,它尝试检查代码中的函数是否 pure或者不是,为什么。在
DISCLAIMER:这个库非常具有实验性,并且有很多边缘案例。 恰当先生标记为纯的函数不可能是纯的,但它们是纯的 通常比其他功能更干净。在
安装
pip install mr_proper
什么先生的支票
- 该函数没有黑名单调用(比如
print
) 和黑名单属性访问(如smth.count
) - 该函数不使用全局对象(只使用局部变量和函数参数)
- 该函数至少有一个返回值
- 这个函数不会改变它的参数
- 该功能没有本地进口
- 该函数没有禁止类型的参数(比如ORM对象)
- 该函数不使用
self
、class
或{} - 该函数只调用纯函数。在
这个列表不足以说明函数是纯函数和某些点 争议很大,但这是个好的开始。在
示例
控制台用法:
^{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>要求内部函数为纯函数。在
代码先决条件
- Python 3.7+
- 全注释函数
- 没有动态调用(如
getattr(sender, 'send_' + message_type)(message)
)。在
贡献
我们希望你能为我们的项目作出贡献。很简单:
- 用你发现的错误或者你的建议来创建一个问题。 等待维护人员的批准。在
- 创建拉取请求。确保所有的支票都是绿色的。在
- 修正评审意见(如果有的话)。在
- 太棒了。在
以下是一些有用的提示:
- 您可以使用
make check
运行所有检查和测试。 请在特拉维西做之前。在 - 我们使用BestDoctor python styleguide。 抱歉,styleguide目前只有俄语版本。在
- 我们尊重Django CoC。 温柔点,不要胡扯。在
- 项目
标签: