Почему состояние функции "myVariable = myVariable;"? - PullRequest
3 голосов
/ 25 января 2012

В ходе работы с некоторым кодом as2 из нашей команды разработчиков я натолкнулся на несколько странных утверждений, в которых переменные были установлены для себя. Есть ли какая-то причина такой избыточности, о которой я не думаю?

Я говорю буквально так:

function timeLine(x,w){
  x = x;
  p = ((x) * 100) / w;
  t = v.totalTime;
  n = (t * p) / 100;
  n = n;

Чего мне не хватает? (Пока мы на этом, что с (x)? Я предполагаю, что раньше было (x + z) ...)

1 Ответ

4 голосов
/ 25 января 2012

Почему бы состояние функции myVariable = myVariable;?

Потому что программист, который написал это, был некомпетентен. Вы ничего не упускаете, кто бы ни написал этот код, изначально не знал, что они делают.

Если это был код AS3, возможно, они устанавливают переменную класса из параметра функции, но лучше всего это сделать явно, используя this, чтобы показать, что переменные отличаются:

function foo(bar, baz) {
  this.bar = bar;
  this.baz = baz;
}

Кроме того, AS3 имеет аксессоры и мутаторы, которые могут вызывать побочные эффекты. Если бы это было так, программист был бы не просто некомпетентен, но и опасен.

...