这种调用私有方法的公共方法是否包含不必要的冗余?

时间:2014-11-06 20:57:23

标签: oop

假设我有一个公共方法,如下所示:

    public void startService(int intParam1, int intParam2, boolean booleanParam) {
        setupService(intParam1, intParam2, booleanParam); // call private method to perform prerequisites

        // perform remaining logic to start service here
    } 

此方法在同一个类中调用私有方法,该方法与调用它的公共方法具有相同的接口。公共 startService()方法是私有 setupService()方法的唯一使用者。

仅仅摆脱私有的 setupService()方法调用并将其替换为 setupService()的实现更好吗?在这种情况下,似乎有一些冗余可能是不必要的,但我想得到一些专业意见。在我的职业生涯中,我已经多次遇到这种情况,但通常会因为害怕破坏而反过来。

1 个答案:

答案 0 :(得分:1)

我也经常遇到这种情况。

我问自己:

  • 私有函数是否做了太多可以进一步分解为函数的东西?如果是这样,那么我宁愿摆脱单个私有函数并从公共函数中调用较小的函数。这使得代码更具可读性,因为您可以立即查看公共方法正在执行的操作。这也很适合使代码自我记录。

  • 是否有可能再次使用单个私有函数的未来用例?如果没有,那么此刻不需要私有。但是,如果公共函数中的部分代码必须由其他函数使用(在转换期间进行更多测试),将来可能会变得困难。

总而言之,它归结为在您的功能中具有最佳模块性。如果私有函数不能进一步细分为独立函数,那么我只需要将其删除并将其代码放在公共方法中。