mmofacts.com

Warum man dokumentieren sollte

gepostet vor 18 Jahre, 6 Monate von Kampfhoernchen
Ich bin momentan in einem Projekt (Java EE), wo ich bestehenden Code nachdokumentierten soll.

Code darf ich net rausgeben, aber vielleicht könnt ihr mir sagen wozu diese Klasse gut ist.

Es gibt eine Klasse namens Adf_Log im Paket "checks", wo u.A. verschiedene Reg-Exen etc liegen.

In dieser Klasse sind 3 Methoden (+ 1 leerer Konstruktor)

void makelog(String adf_code)
Diese legt ein Verzeichnis mit dem aktuellen Timestamp im TMP-Verzeichnis an.
Dann wird die Funktion log_flush() mit dem Namen des neuen Verzeichnisses auf. aufgerufen.


void logflush(String dirname)
Löscht im übergebenen Ordner alle Dateien (nicht Ordner, nur Dateien), die älter als 3 Monate sind, ruft dann adf_protekt() mit übergabeparametr dirname auf.
Ändert den CHmod auf 777.
Löscht den ganzen Ordner


void adf_protekt(String dirname)
Ändert den CHMOD des Verzeichnisses auf 757


Wozu ist das gut? Hat irgendwer ne Vorstellung? Hat das nen Sinn?
PS. die Klasse wird an einigen hundert Stellen des System initalisiert und gleich danach die Methode makelog() mit einem MD5 über die ID des eingeloggten Benutzers. Der MD5 wird übrigens nicht über die vorhandene Java-Funktion berechnet, sondern wurde nochmal implementiert.
gepostet vor 18 Jahre, 6 Monate von Nuky
ich nehm an die schreibfehler zwischen log_flush und logflush sind jetzt entstanden..

tut mir leid, der code macht 0 sinn für mich.. kannst net *etwas* mehr freigeben? ^^
gepostet vor 18 Jahre, 6 Monate von Kampfhoernchen
Jep, hab den Code ja so getippt. Hab den Algorithmus Zeile für Zeile beschrieben. Mehr is da net.
gepostet vor 18 Jahre, 6 Monate von Fornax
*malausdrucken* und morgen angucken

Also, ich habs mir mal genau durchgelesen und aufgschrieben, was passiert. Es wird ein Verzeichniss erstellt, TEMP/TIME, dort werden Dateien gelöscht (=> sinnlos, ist ja ein neues&leeres Verzeichniss), für diesen Ordner CHMOD 777 gemacht, welcher in einer funktion auf 757 zurückgesetzt wird. Dann wird das Verzeichniss gelöscht, ohne dass etwas kopiert, erstellt oder gemacht wurde (außer CHMOD auf 777 bzw. 757 gesetzt).

Fazit:
SINNLOS!!!!
gepostet vor 18 Jahre, 6 Monate von friedenspanzer
Ich kann dem nur zustimmen: Das macht für mich absolut keinen Sinn!

Frag am besten nach was zur Hölle das Ding machen soll und vor allem WARUM es das macht. Ansonsten wird da wohl keiner durchsteigen.
gepostet vor 18 Jahre, 6 Monate von neit
So wie du es beschreibst, machst es wirklich keinen Sinn. Wenn die Klasse allerdings wie du sagst an einigen hundert Stellen Verwendung findet, müssen sich die Leute ja etwas dabei gedacht haben ....

Der Fehler sitzt wohl wie so oft vor dem Bildschirm.
gepostet vor 18 Jahre, 6 Monate von Kampfhoernchen
Jep, genau so wie Fornax es beschrieben hat.

Ich hab inzwischen Rücksprache mit der Firma gehalten. Der Mitarbeiter, der die Klasse ins CVS engecheckt hat, und wohl auch die ganzen Intanzen eingefügt hat, arbeitet nicht mehr bei der Firma. LOL

Jetzt weiß keiner, wofür die Klasse gut ist. Ich hab mal alle Funktionen leer gemacht, die Anwendung läuft immer noch. Hab die jetzt mal als "Sinnlose Klasse" dokumentiert.
gepostet vor 18 Jahre, 6 Monate von knalli
Korrekt.. schreib doch nen Kommentar mit nem Gedicht rein.. auf alle Fälle sinnvoller
gepostet vor 18 Jahre, 6 Monate von MannaZ
Vielleicht hatte die klasse früher einmal mehr funktionen die aber nicht mehr benötigt und rausgelöscht wurden. So blieb nurnoch dieses "Gerippe" übrig, das für sich alleine keinen Sinn ergibt?!
gepostet vor 18 Jahre, 6 Monate von Godfather
Gehe auch mal davon aus, das das eine Art Log Caching war.
Der Funktionsname "ADF" erinnert mich irgendwie an Application Development Framework. Das nach adf_protekt direkt das löschen kommt, ist etwas seltsam, ich denke hier sollte dann ein weitere Code für das logging, bzw die weiterverarbeitung stehen (wenn es weiteren Code gegeben hätte).
gepostet vor 18 Jahre, 6 Monate von SirCotare
ich find auch oft in meinen eigenen scripts nach jahren wieder teile, die etwas sinnlos sind und nur relikte alter zeiten sind *g
gepostet vor 18 Jahre, 5 Monate von Kampfhoernchen
Die Klasse ist in der Version 1.0 in das CVS eingecheckt ...
gepostet vor 18 Jahre, 5 Monate von HSINC
vielleicht war es ja einer der java"profis" die ich kenne, die zb für jede db tabelle eine eigene klasse gebaut haben welche nur die methode get(id) mit folgender funktion, select * from tabelle; und im anschliessenden ergebnisdurchlauf die ids überprüft und im erfolgsfall die row zurückliefert ,beinhaltet.

Auf diese Diskussion antworten