17 Jun 2011 17:37
Verehrte Besucher!
Unser heutiges Austellungsstück aus der Galerie der Abscheulichkeiten in der wunderbaren Welt der Programmierung: einer der schlimmsten Missbräuche einer For-Schleife, die mir in den letzten Jahren untergekommen sind. Im Original natürlich auch unkommentiert.
for( n_factors = 0, factor = 1; factor*cascade->orig_window_size.width < img->cols - 10 && factor*cascade->orig_window_size.height < img->rows - 10; n_factors++, factor *= scaleFactor ) ;
Auf einen Blick: was bezweckt dieses Konstrukt?
(Wäre es sinnvoll geschrieben oder kommentiert, wäre ein Blick völlig ausreichend)
Na?
Es berechnet, wie oft man ein Fenster hochskalieren kann, bevor es ein Bild ausfüllt.
Diese Perle stammt aus OpenCV, einer (funktionell) sehr guten Bibliothek, die mir durchaus ans Herz gewachsen ist. Es ist damit nur so ein bisschen wie mit Wurst: besser, man weiß nicht, wie es gemacht wird.
Gefolgt wird obiges übrigens von diesen Zeilen:
for( ; n_factors-- > 0; factor *= scaleFactor ) { ... }
Dafür gehört jemand geschlagen.
Juni 18th, 2011 at 15:03
Uh, sehr unschön! :/
Aber nach dem unser Programmierlehrer in einer der ersten Stunden erklärt hat das er IMMER „while(1)“-Schleifen macht und die Abbruchbedingung in den Schleifenkörper packt, wundert mich gar nichts mehr…
September 3rd, 2011 at 15:28
ich versteh nur bahnhof. gut das in drei wochen prüfung in IWW3 beim joppich ansteht – drecks c++ 😛
grüße von einem studenten der HBRS 😉