嘿,我刚大学毕业。我正在研究一个项目,我希望该项目最终会由其他人维护。我在这个项目上总是遇到一个烦人的情况,那就是对象需要很多私有(private)变量,因此构造函数很长。

除了变量命名外,没有强制执行任何编码标准。我想知道如何处理这样的问题。有时我担心将来我会在dailywtf上看到一些自己的代码!

我努力尝试将这些论点中的一些纳入其他类,但在这种情况下,这确实没有任何意义。

这是一个完全没有问题的问题,还是应该并且很容易纠正的问题?

public function __construct($uCode = '', $uName = '', $uTime = '', $uArea = '', $uDomain = '', $uText = '', $uId = '', $uNum = '', $uVideo = 0, $uAudio = 0, $uImage = 0){

最佳答案

一般来说,如果您有大约4个以上的参数,则最好改用临时对象或数组。通常,许多参数是可选参数,因为它们很笨拙,而且很快就会出错。所以:

class MyClass {
  public function __construct($options) { ... }
...
}

$o = new MyClass(array(
  'uCode' => 'some value',
  'uText' => 'another value',
));

比较一下:
$o = new MyClass('some value', '', '', '', '', 'another value');

请注意,数组版本仅包含要传递的内容。

关于php - 编码标准: Large amount of arguments,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/923760/

10-12 00:35