我应该为具有有限可能选项的功能编写多个包装器方法吗?

时间:2017-07-21 20:10:21

标签: python python-3.x

如果我在客户端库中有一个方法,例如,将某个状态设置为有限数量的状态之一,那么为每个可能的状态编写包装器方法是不错的做法,或者允许用户只将他们想要的状态作为参数传递?

例如:

def set_success_status(commit):
  _set_status('success', commit)

def set_failure_status(commit):
  _set_status('failure', commit)

def _set_status(status, commit):
  # some logic to actually set the status

1 个答案:

答案 0 :(得分:2)

如果状态有任何影响,如果没有正确分配给其中一个有限的可能性,我会推荐多个包装方法;但是,如果状态纯粹是信息性的,并且不作为未来陈述的基础,那么仅仅具有常规set_status(status, commit)功能就足够了。

应用多包装方法可能有很多原因,其中最明显的是客户端错误预防,除了帮助客户端查看函数自动完成中的所有选项,而不必查找不同的{{ 1}}可供使用的选项。此外,如果您需要更改文字status字符串,则可以通过保持函数名称相同而不中断任何客户端。

最后,它归结为确切的情景,并遵循项目中当前设定的做法。我不知道多个包装器方法如何可以造成任何伤害,并且它将每个选项固化为它自己的实体(这是合理的,因为它们是有限的选项),允许您更灵活地应用每个status