有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

只调用一次的java代码块是否值得使用自己的方法?

通过观察各种Android应用程序(不是我写的)的源代码,我注意到一种模式,即将某些代码放入它们自己的方法中,尽管实际上没有任何代码重用,因为这些方法在整个应用程序中只被调用一次

到目前为止,我有一条经验法则,即如果一段代码在应用程序代码中被使用了两次或两次以上,那么它就有了自己的方法,只是为了消除代码冗余

但是看到这些整齐地分割成块的代码到自己的方法中(以及自己的方法调用开销),我开始觉得可能我遗漏了什么

除了出于文档目的,还有什么其他原因可以证明只放4行代码(只调用一次!)用自己的方法


共 (5) 个答案

  1. # 1 楼答案

    首先有三个原因:

    • 你可以把它和其他东西分开测试。(这可能最终违背了只测试公共API的信条,但这对我来说没关系。如果为了测试它,我必须创建一个方法包级别而不是私有级别,这很烦人,但我宁愿这样做,也不愿一次性测试一大堆逻辑。)
    • 您可以从简单方法中构建更复杂的方法,其中复杂方法的整体处于单个抽象级别,而无需指定细节。阅读高级方法意味着只需阅读由其组成的构建块的名称;然后,如果需要,你可以深入了解你感兴趣的细节
    • 你可以编写方法,每个方法都能很好地完成一件事,并以一种明显的方式命名和记录它们

    当然这可能有点过头了,但它肯定是有用的

  2. # 2 楼答案

    文档和可读性是将代码放入方法的很好理由,即使这些方法只执行一次。有些应用程序可能需要在启动时完成一系列逻辑步骤。。。。您是希望将所有代码混杂在一个init方法中,还是一个调用正确命名的方法的init方法中

  3. # 4 楼答案

    可读性是我产生这种编码行为的主要原因

    如果我盯着一个很长的代码列表,寻找一个特定的过程或一段代码,可能不会立即明显地看到该特定的过程或代码段在哪里

    为什么我们要把书分成段落和章节?为什么歌曲有诗节、合唱和桥梁?因为它更容易把一个大的想法分成小的、高度具体的部分

    正如软件开发一样,它都是为了驱动高效、干净的代码,从而尽可能快速、优雅地完成工作。它还必须能够被维护它的人阅读

    至少,这是我的解释

  4. # 5 楼答案

    希望它有助于编写更干净的代码,并且应该更容易测试

    您提到了方法调用开销,但如果该方法只被调用一次,那就不必担心了