如何命名一个可能做或不做某事的方法?

时间:2016-05-31 18:01:19

标签: methods coding-style naming

更具体地说,如何命名可能会或不会向用户显示视图的方法?

例如:

void maybeShowView() {

    if (checkSomething()) {
        presentViewToUser();
    }
}

所以 maybeShowView 是一个糟糕的名字,我也将可能的方法与呈现方法分开进行单元测试,这样也许方法可以正确地进行单元测试。

在我的团队中,我们提出了像

这样的名字
  • maybeDoSomething
  • presentThingIfAvailable

但这真的是坏名字

任何想法?

由于

注意: 我可以创建一个布尔方法 shouldPresentView(),但这需要我每次想要显示我的视图时检查它,我不想要这个。

1 个答案:

答案 0 :(得分:3)

您最好的选择是包括条件以及您将在方法名称中执行的操作。所以,如果checkSomething()为true时显示你的视图,你会这样称呼它:

void presentViewIfSomething() {

    if (checkSomething()) {
        presentViewToUser();
    }
}

毫无疑问,该方法实际上是做什么的。当然,这种方法的缺点是,如果你改变条件,你还必须改变方法的名称。