未提供项目说明
plshandle的Python项目详细描述
普山德尔
在调用方和函数之间创建一个显式协定,该协定要求调用方处理特定的 函数引发的异常。在
为什么
有时,我们只是必须从错误中恢复。因为你是人,你可能不是 始终牢记异常处理。这个工具可以通过 报告所有违反合同的行为。在
如何
一个简单的例子:
fromplshandleimportplshandle@plshandle(KeyError)defget_item(key):return{}[key]get_item(0)# tool reports this call expression as a contract violation
也可以传播错误,类似于Java:
^{pr2}$注意:此工具仅执行静态分析。因此,动态构造很可能不受支持:
@plshandle(KeyError)deffoo():passdefbar(callback):callback()# nothing reportedbar(foo)
请参阅https://plshandle.readthedocs.io以获取更深入的示例。在
在提交
Fetch开发依赖项
pip -r requirements-dev.txt
确保没有linting错误
pylint plshandle && mypy -p plshandle
确保所有测试成功,代码覆盖率为100%
pytest && coverage report --fail-under=100
重新格式化所有文件
black plshandle
,或者如果已安装makeinstalled
make check
- 项目
标签: