Diff Algorithmus und C++ lernerei

Ok jetzt weiter zum angenehmeren. Die letzte Zeit habe ich viel programmiert fuer ein Nachfolgeprojekt von Syneight naemlich Diagnostics. Fuer dieses ding habe ich eine klasse geschrieben die diff implementiert. Es war sehr interessant vorallem weil ich mich dann durch mehrere Paper durchwuehlen musste bis ich den richtigen Algorithmus gefunden habe. Letztenendes bin ich bei LCS(Largest Common Subsequence) basierenden Algorithmus geblieben da er ziemlich gut dokumentiert war und mit Codebeispielen versehen. Er hat zwar eine Komplexitaet von O(n) aber es geht schon. Es gibt noch andere Algorithmen wie zum beispiel einen der auf Shortest Path basiert und eine Komplexitaet von O(log(n)) hat. Vielleicht werde ich irgendwann den austauschen.

Nun was ich eigentlich sagen wollte. Ich habe diese Klasse implementiert und an den Projektleiter geschickt. Ich habe kurze zeit danach eine E-Mail zurueckgekriegt mit einer ewigen liste was ich falsch gemacht habe. Ich war positiv ueberrascht denn ich bin davon ausgegangen das ich eine kurze E-Mail bekomme wo drinnen steht “Dass ist scheisse, mache es nochmal. Und ersetze <bla> mit <blub> und lese dir Folgendes Buch durch <blubber>” oder aehnliches. Nein ich habe eine ausfuehrliche Erklaerung bekommen was und wieso ich falsch gemacht hatte. Ihr glaubt kaum wie sehr ich mich darueber gefreut habe. Vielleicht werde ich in spaeteren Blogs auf die Sachen die ich Falsch gemacht habe eingehen damit ihr auch davon was habt. Nun nachdem ich die entsprechenden Korrekturen eingebaut habe habe ich wieder ne lange mail gekriegt was man besser machen kann. Es ging so bis jetzt mehrmals hin und her. Mommentan bin ich am umbauen auf Iteratoren (hier muss ich anmerken das ich im uhrspruenglichen Code keine Iteratoren benutzt habe weil ich mit denen nicht per du war und wollte mir nicht eine weitere Faehlerquelle hinzufuegen.) Ich hoffe das bald der Code so weit ist das man den so stehen lassen kann 😉 (ja ich weiss Traeumen ist schoen)

Leave a Reply

Your email address will not be published. Required fields are marked *

Question: *