【问题标题】:Is passing an argument of a method to another method a bad practice?将方法的参数传递给另一种方法是一种不好的做法吗?
【发布时间】:2018-12-18 20:30:31
【问题描述】:

我有以下方法:

public myMethod(argument1)
{
  int myVariable = myMethod2(argument1)
  ...
}

将参数从一种方法直接传递给另一种方法是不好的做法吗?我知道存在替代方案(例如我可以使用静态变量),但为了学习和论证,说我不能。

【问题讨论】:

  • 这不是一个坏习惯,事实上在大多数情况下我会说这是一个好习惯,而不是依赖外部状态。

标签: methods arguments standards


【解决方案1】:

这是一个面向对象编程可能变得有用的例子。例如,您可以定义这样的类。

class MyClass
{
    private:
       int myArgument;

    public:
       myMethod()
       {
          myvariable = myMethod2();  //now you don't need to worry 
                                       about passing in the redundant argument
       }
       myMethod2()
       {
          return myArgument*2;
       }

};

为了你的例子,这个类对于这个应用程序来说可能是多余的,所以这件事是否由你决定。如果您开始意识到您在大量相关函数之间传递相同的参数,这就是将数据封装在对象中的想法变得有价值的地方(假设您使用的是支持 OOP 的语言,例如 C++)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 2020-12-07
    • 2020-06-12
    • 2013-01-29
    • 2017-07-29
    • 1970-01-01
    相关资源
    最近更新 更多