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

Haz*_*iel 7 methods naming coding-style

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

例如:

void maybeShowView() {

    if (checkSomething()) {
        presentViewToUser();
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,MaybeShowView是一个糟糕的名称,我也将可能的方法与用于单元测试目的的呈现方法分开,这样也许方法可以正确地进行单元测试.

在我的团队中,我们提出了类似的名字

  • maybeDoSomething
  • presentThingIfAvailable

但这真的是坏名字

有任何想法吗?

谢谢

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

小智 7

最好的办法是在方法的名称中包含条件和您将执行的操作。因此,如果您的视图将在 checkSomething() 为 true 时显示,您可以这样称呼它:

void presentViewIfSomething() {

    if (checkSomething()) {
        presentViewToUser();
    }
}
Run Code Online (Sandbox Code Playgroud)

这将使该方法的实际作用毫无疑问。这种方法的缺点当然是,如果您更改条件,您还必须更改方法的名称。