3 Stimmen

Was ist "übermäßiger Trickreichtum"?

Nachdem ich "JavaScript: The Good Parts" von Douglas Crockford und "JavaScript Patterns" von Stoyan Stevanov gelesen habe, versuche ich genau herauszufinden, was 'excessive trickiness' bedeutet. Sie sagen beide, dass dies auftritt, wenn ++ oder -- im Code verwendet werden, aber ich kann keine klare Definition für diesen Begriff finden, weder innerhalb von SO noch über eine Google-Suche. Irgendwelche Ideen?

5voto

Interrobang Punkte 16794

Sie können es von Crockford selbst hier hören: http://www.youtube.com/watch?feature=player_detailpage&v=47Ceot8yqeI#t=4140s

Die einfache Antwort ist, dass ++ und -- auf eine Variable wirken und normalerweise gleichzeitig mit etwas anderem an dieser Variable durchgeführt werden. Können Sie schnell entscheiden, was das hier macht?

y += x++ + ++y; // Was ist y jetzt?

Weitere StackOverflow-Diskussion: Warum sollte man Inkrement ("++") und Dekrement ("--") Operatoren in JavaScript vermeiden?

1voto

Tom van der Woerdt Punkte 28943

Es geht um die kleinen Tricks, die eingebaut sind. Zum Beispiel ist avar++ ein Alias für avar = avar + 1.

JavaScript ist gefüllt mit Operatoren und anderen Dingen, die das Programmieren leichter machen, aber es sind nur Tricks. Das meint er wahrscheinlich.

Außerdem, wie Jonathan angemerkt hat: Warum sollte man Inkrement ("++") und Dekrement ("--") Operatoren in JavaScript vermeiden?

0voto

GSerg Punkte 73326

Übertriebene Raffinesse ist subjektiv. Deshalb gibt es keine klare Definition dafür.

Einige würden sagen, dass der berühmte C-String-Kopiercode (while (*p++ = *q++);) übertrieben raffiniert ist, andere würden sagen, dass er es nicht ist.

0voto

Jonathan Punkte 5390

Hier ist eine ziemlich ausführliche Diskussion mit Links:

Warum sollte man Inkrement ("++") und Dekrement ("--")-Operatoren in JavaScript vermeiden?

Ich denke, ein Teil der Idee ist, dass sie, wenn man diese Operatoren anwendet, außer bei einer einzelnen Variablen in einer einzelnen Zeile, für jeden außerhalb des Entwicklerkopfes verwirrend werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X