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

Methods 如何命名一个可能做或不做某事的方法?,methods,coding-style,naming,Methods,Coding Style,Naming,更具体地说,如何命名可能会或不会向用户显示视图的方法? 例如: void maybeShowView() { if (checkSomething()) { presentViewToUser(); } } 因此,maybeShowView是一个糟糕的名字,而且出于单元测试的目的,我将maybe方法从呈现方法中分离出来,这样maybe方法就可以正确地进行单元测试 在我的团队中,我们想出了这样的名字 梅贝多辛 可提供的演示文稿 但这真是个坏名字 有什么想法吗

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

例如:

void maybeShowView() {

    if (checkSomething()) {
        presentViewToUser();
    }
}
因此,maybeShowView是一个糟糕的名字,而且出于单元测试的目的,我将maybe方法从呈现方法中分离出来,这样maybe方法就可以正确地进行单元测试

在我的团队中,我们想出了这样的名字

  • 梅贝多辛
  • 可提供的演示文稿
但这真是个坏名字

有什么想法吗

谢谢

注意:
我可以创建一个boolean方法shouldPresentView(),但这需要我每次都检查它,我不想这样做。

你最好的选择是在方法的名称中包含条件和你将要做的事情。因此,如果当checkSomething()为true时显示视图,您可以这样调用它:

void presentViewIfSomething() {

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

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

将方法名称结尾为
IfAvailable
ifapplicative
(等等)对我来说是合理的。但我担心这是个人观点的问题……事实上,如果我们使用可可粉,这就是他们采取的方法,比如:layoutifneeded这就是我们要采取的方法如果你有多个条件呢?@Lucas Bustamante你可以在你的if语句中把这些条件组合起来。如果(CheckSomething()&&CheckSomethingElse())等等。我的意思是,呈现ViewIfHomeandUserLoggedInandUserAdmin(),我知道这很糟糕,只是想给你一个想法-我问这个问题是因为我在为WP构建密码插件时遇到了类似的问题,我必须检查多个条件,看看我是否应该提供密码表。这个答案是关于钱的,但我建议更新最后一段。我不同意“如果你改变条件,你也必须改变方法的名称”。方法/函数的命名应确保它准确地描述了函数的用途,但仍然不能详细描述实现逻辑。例如,
createTaskIfValidResult
。“有效结果”的逻辑可能会改变,但目的或结果应该是相同的,因为除非结果有效,否则不会创建任务。否则,您只是在编写一个新的方法/函数。