Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Galerie>Kurioses>Überflüssiges

"Überflüssiges" von dan@mac

0
0

Ausgangsbeitrag

dan@mac
dan@mac30.08.1014:36
So kann man auch überflüssigen Code produzieren. Auch wenn ich so etwas immer nur zufällig bemerke und mich dann frage was ich da gedacht haben muss, als ich das gemacht habe - funktionieren tut's trotzdem.

Kommentare

Arachnid
Arachnid30.08.10 14:43
au weia. manchmal tut sowas weh.
Flashmueller30.08.10 14:45
Was sagst du? Bahnhof?
ww
ww30.08.10 15:24
Na ja ist ja möglich, dass sich mal was ändert, dann bist du schneller beim Anpassen

Ich denke dieser Code ist historisch gewachsen - grins
PaulMuadDib30.08.10 15:33
Das kommt hier drauf, was genau Du damit bezwecken wolltest. Ausserdem sieht man den zusammenhang nicht. Da ist ja bestimmt noch merh Code drumrum, denke ich aml. Wie würdest Du denn es jetzt machen?
ultrapaine30.08.10 15:35
Schaut euch den Code doch mal an, in dem fall hätte es die Zeile
IPSegmentIndex = index;
auch getan!
Christoph_M
Christoph_M30.08.10 15:37
würdest du
iPSegmentIndex = index;
machen, dann könnte iPSegmentIndex auch Werte ausserhalb des Bereiches [0,3] annehmen. Vielleicht ist das aber gerade nicht gewollt.
Natürlich könnte man das durch if(index >= 0 && index <=4) eleganter lösen, dass geht aber nur solange es sich um einen nicht gesplitteten Bereich handelt.

Will jetzt den Coder nicht unbedingt verteidigen, weil wirklich schön ist der Code echt nicht, aber gleich abzugehen ohne die Umstände zu kennen halte ich für etwas unangebracht.
chaos-ritter30.08.10 15:40
ultrapaine:
Das kannst du so ohne Zusammenhang nicht sagen,

ich würde
if (index >= 0 && index <= 3) {
IPSegmentIndex = index;
}
schreiben..
Mr. Fuchs
Mr. Fuchs30.08.10 15:58
ich fänds mal interessant wie viele verstehen über was ihr diskutiert...

Im übrigen finde ich eine Switch-Case garnet sooo schlimm, selbst wenn es so "unnötig" wie hier ist.
Es ist (finde ich) einfach übersichtlicher, als sowas:
if (index >= 0 && index <= 3) {
IPSegmentIndex = index;

Wie es mit der Performance aussieht weiß ich allerdings nicht...

blue_raptor
blue_raptor30.08.10 16:06
Der Code ist aber ausgesprochen blödsinnig. Eine "inrange" Prüfung kann man auch gescheiter machen als alle Werte als case-Fall zu schreiben.
dan@mac
dan@mac30.08.10 16:10
Es ist tatsächlich historisch gewachsen. Die switch-case Abfrage sah vorher auch anders aus. index wird nur einen Wert von 0-3 haben und später einfach verwendet. iPSegmentIndex ist einfach unnötig.
blue_raptor
Der Code ist aber ausgesprochen blödsinnig. Eine "inrange" Prüfung kann man auch gescheiter machen als alle Werte als case-Fall zu schreiben.

Es sollte ursprünglich ja aber was passieren, wenn es eben 2 ist und zwar genau zwei und nicht zwischen 0 und 3.
Request
Request30.08.10 16:11
Da fragt man sich eher wieso du überhaupt in index speicherst und nicht gleich in iPSegmentIndex...
1984 - Think different - Macintosh - iPhone / iPad - Think nothing - 2014
Schnapper30.08.10 17:31
Och, da sehen manche gewachsenen Routinen von mir noch viel, viel wilder aus.
Insofern: gräme dich nicht, es könnte noch viel schlimmer sein. Mir fällt da grad ne sehr wirre Variante mit ineinander verschachtelten Schleifen ein...
Megaseppl30.08.10 17:47
Ich sehe hier kein Problem. Eventuell sind Deine Gedankengänge damals nicht davon ausgegangen dass der IPSegemtIndex in jedem Fall dem Index entspricht. Und wie bereits geschrieben werden so nur valide IPSegmentIndex-Werte zugelassen.
Zum Problem wird es nur wenn dieser Aufruf messbar ist bzw. spürbar mehr Zeit benötigt als die einfache Zuweisung und eine eventuelle Werte-Überprüfung vorab. Das dürfte aber nur der Fall sein wenn er mehrere hundert male pro Sekunde ausgeführt wird. Und auch da muss man individuell testen. Das ist nicht in jeder Sprache gleich.

Kommentieren

Sie müssen sich einloggen, um ein Galerie-Bild kommentieren zu können.