Joa*_*nge 6 python api class-design exception
我使用的是基于Python API那里有很多的功能来查询的东西,比如doesPointExist,findPoint,canCreateNewPoint,等在那里的阴性结果会抛出异常.这使代码更加混乱,填充了try/catch语句,而不是直接将结果用作布尔值.
由于我不是Python专家,我想知道这个设计是否是Pythonic?我没有在标准库中看到过这种设计,所以我假设Python API中的这种异常使用是不受欢迎的?
听起来像一个设计糟糕的API.
doesPointExist应该返回,True或者False当该点不存在时不应引发异常.findPoint应该返回一个Point对象,或者None什么时候找不到对象.canCreateNewPoint应返回True或False出于类似的原因.例外情况适用于特殊情况.
API设计有点艺术性.函数的名称应该表明它的行为方式,包括设置用户期望.名为函数findPoint意味着搜索可能失败,因此不存在这样的点的情况不例外,并且可以返回None以发信号通知结果.getPoint但是,一个名为的函数会向我暗示它总能返回请求的点.失败将是意料之外的,并且需要提出异常.
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |