# Code Verstehen



## JB4You (17. März 2008)

Hallo,
ich bin Informatikstudent im 6. Semester (Bachelor). Das heißt, nach Regelstudienzeit fange ich gerade mein Praktikum an. Jetzt habe ich hier die Aufgabe, ein Plugin zu erweitern und muss daher schon bestehenden Code so schnell wie möglich verstanden haben, um ihn dann zu modifizieren. Ich habe jetzt mal angefangen, mir aus dem Code per Enterprise Architect ein UML Class Diagram zeichnen zu lassen. Meine Frage nun: Habt ihr noch Ideen, wie ich mir noch schneller nen Überblick verschaffen kann, das der Code schon sehr umfangreich ist und ich glaube, das es selbst mit dem UML noch schwierig wird da innerhalb einer Woche durchzublicken?

Danke erstmal

Bis dann

JB4YOU


----------



## 115% (17. März 2008)

Eventuell wurde von dem Entwickler (der Student vor dir) eine Dokumentation verfasst. Eventuell sind im Quellcode JavaDoc Kommentare vorhanden, nachschauen oder selber eine erstellen.


----------



## Thomas Darimont (17. März 2008)

Hallo,

browse einfach mal ein wenig durch den Code... debugge das Teil mal durch.

Gruß Tom


----------



## Oliver Gierke (17. März 2008)

Was auch immer hilft ist nach Patterns ausschau zu halten. Tauchen in der Doku oder den Klassennamen bekannte Phrasen wie "Factory" o.ä. auf kann man recht schnell auf die Rolle der Klasse schließen.

Eine Dependencyanalyse mit JDepend kann auch zum Verständnis beitragen, welche Subsysteme mit welchen anderen kommunzieren (dürfen).

Insgesamt erkennt man daran, wie schnell sich jemand in Code einarbeiten kann recht gut, wie gut der Code an sich ist (die entsprechenden Fähigkeiten des Einarbeitenden vorrausgesetzt).

Gruß
Ollie


----------



## JB4You (18. März 2008)

Also erstmal danke für die zahlreichen Antworten. Ich habe jetzt mal angefangen zu debuggen, und naja, ich muss sagen, ich komme damit immer noch nicht so gut klar.
Vielleicht stelle ich mir das auch einfach zu einfach vor, da ich so was zum ersten Mal mache, aber ich steige bei dem Code echt nicht groß dahinter, wie so die Abläufe sind.
Es werden hunderte mir unbekannte Klassen aufgerufen, die nicht zu meinem Sourcecode gehören, und das ist alles etwas verwirrend für mich! Ich wollte jetzt einfach mal mit der GUI beginnen, und einfach mal in einer Liste einen neuen Eintrag schreiben, um mich dann so weiter zu arbeiten, aber bis jetzt hab ich noch nicht einmal gefunden, wo diese Tabelle genau implementiert ist. Wenn jemand noch weiter Tipps hat freu ich mich sehr darüber, wenn er mir diese mitteilt. Ansonsten noch einmal danke für die bisherigen Tips.

JB4You


----------



## Oliver Gierke (18. März 2008)

Ich würde mir an deiner Stelle keinen Kopf machen, dass sowas Zeit braucht. Gerade wenn du sowas zum ersten Mal machst. Ich hatte letztens ein Projekt zu analysieren für das ich 3 Tage gebraucht hab, bis ich ansatzweise, was da wieso wie läuft.

Im allgemeinen schult sowas das Programmierverständnis ungemein. Zum anderen erkennt man als Analysierender recht schnell guten von schlechtem Code - schon allein an der Einarbeitungszeit, die man benötigt. Besonders wenn man A / B Vergleiche machen kann (Was war einfacher zu verstehen?). Meist achtet man nach solchen Reviews viel mehr drauf, sprechenden Code zu schreiben, Konventionen zu beachten, sinnvoll zu dokumentieren, Designpatterns umzusetzen usw.

Gruß
Ollie


----------



## JB4You (18. März 2008)

Das baut mich ja immerhin schon mal wieder etwas auf. Aber ich habe eigentlich trotzdem das Gefühl, dass ich mich wenn, dann nur sehr langsam in die Richtung bewege, in die ich will!
Ich habe gerade das Debuggen für heute erstmal beendet und überlege mir noch ein paar andere Möglichkeiten. Wenn das nichts hilft, werde ich morgen weiter machen...
Danke aber trotzdem für die Unterstützung hier

Grüße
JB4You


----------

