Thread MP3Tagger: Ein MP3-Tag-Editierungsprogramm
(13 answers)
Opened by Hrhon at 2006-04-22 23:39 Quote Ja, es ist wirklich sehr groß geworden. Klassen währen angebracht, allein für die Übersichtlichkeit. Es ist ein typisches Programm, das klein angefangen hat und dann immer größer wurde. Objektoriniert programmier ich Perl absichtlich nicht. Ich find, dafür ist Perl einfach nicht geschaffen und diese Funktionalität ist irgendwie nur aufgesetzt. Perl hat ganz andere Stärken (zum Beispiel die Stringmanipulation) Quote ich weiss, dass da ein haufen warnings kommen :-) hab ich extra ausgeschaltet. Dieses Porgramm ist ja auch nur für mich gedacht und soll an keinen Kunden rausgehen. Wenn jetzt natürlich ein größeres Projekt draus wird, geb ich dir recht, dann gehört das use warnings Pragma wieder rein. Quote Open schon, aber mein Programm nicht. Wenn du dir die README durchließt, wirst du festellen, dass mein Programm nach Taginformationen im Filenamen suchen kann. Der Filename wird dazu nach Verzeichnissen getrennt aufgesplitet. Es ist ja kein großese Thema, mann muss ja lediglich das /- Zeichen durch ein \- Zeichen ersetzen. Ich habs halt nur noch nicht gemacht. Und bevor sich ein WindowsNutzer wundert, warum bei ihm gar nichts geht, hab ich es lieber mal dazugeschrieben. Quote Ja, das ist wirklich nicht schön. Eigentlich wollt ich auch noch irgendwann ein POD draus machen, bin aber noch nicht dazugekommen. Quote (siehe Oben) Quote ich hatte früher auch einen stil mit mehr Whitespaces und Newlines. Bis mir mal irgendwann ein erfahrener Programmierer erklärt hat, dass er versucht, möglichst viel Code auf möglichst wenig Raum zu packen. Das ist wirklich ein Vorteil, weil man schnell alle Details im Blick hat, ohne viel Scrollen zu müssen (ok, ich machs mir teilweise wieder kaputt, weil meine Funtkionen zu groß sind. Ich versuch zwar, große Problem in möglichst viele kleine Teilprobleme aufzuteilen, bin da aber nicht immer sehr konsequent gewesen, ich weiss) Ich muss sagen, 2 Spaces sind völlig ausreichend, bei 4 Spaces kommt man doch sehr schnell über das 80 Zeichen Limit pro Zeile (das ist was, woran ich mich versuch, einigermaßen zu halten - leider auch nicht immer 100%ig konsequent. Hat einfach Vorteile, wenn man sich das Prog mal ausdrucken will) Das mit den Tabs ist ein VIM Problem. Hab den noch nicht so umkonfiguriert, dass er nur mit Spaces arbeitet. Der ersetzt immer 8 aufeinanderfolgende Spaces durch einen Tab. Ich werd bei der nächsten Version mal eine Subsitution über die Code laufen lassen und alle Tabulatoren durch Spaces ersetzen lassen. Ach ja, und das mit der Variablendeklaration. Eigentlich hab ich meine Variablen möglichst strikt in den Funktionen gehalten und mit my deklariert. Es sind nur die Variablen our, die ich im gesamten Prgramm brauche (viele von den globalen Variablen würden bei einer objektorientierten Gestaltung des Programm wegfallen, eine Funktion kann sich aber leider über den Funtkionsaufruf hinaus keine Zustände merken). Und ich find, es ist guter Programmierstil, wenn man die our-Variablen am Anfang des Programm deklariert. Mit vielen von diesen Variablen kann man das Porgramm doch erheblich in seiner Funktion beeinflussen. Das ist sehr störend, wenn man sich die entsprechenden Variablen erst irgendwo im Code raussuchen muss. Wahrscheinlich hätte ich eh mehr als die Hälfte der Variablen am Anfang als Konstanten deklarieren sollen, das sind sie nämlich eigentlich, weiss gar nicht, warum ich das nicht gemacht hab. Gut, aber das sind verschiedene Philosophien. Jeder Programmierer hat da so seine eigenen Macken ;-) Erst mal Danke für das Feeback. Die meisten Vorschläge sind ja durchaus richtig und wären es eigentlich wert, umgesetzt zu werden. Leider fängt morgen das Sommersemester an, ich werd also ziemlich sicher keine Zeit finden (oder nur ganz wenig) um mich mit dem Programm zu beschäftigen. Vielleicht komm ich ja in den nächsten Semesterferien dazu. Hab heute das Programm mit etwa 1900 Mp3s mal unter realen Bedinungen getestet. Es hat doch noch erhebliche Mängel und viele Kinderkrankheiten. Ich find die Grundidee von dem Programm gut, aber so wie es jetzt ist, ist es fast noch nicht einsetzbar. Das größte Problem, dass ich noch habe, ist, dass der User zu häufig gefragt wird, welche Taginformationen denn nun verwendet werden sollen. Das rührt daher, weil das Programm die Informationen aus sehr vielen unterschiedlichen Quellen holt und dann jedes mal den Benutzer fragen muss, was denn nun richtig ist. Da dem User aber eigentlich Arbeit abgenommen werden soll führt dieser Weg in die falsche Richtung. Außerdem ist das Prog dadurch, dass es sogar beim Aufrufen Reguläre Ausdrücke von Perl erwartet, bis jetzt nur für Perl-Kenner geeignet. Auch hier muss noch einiges gefeilt werden, damit es von jedem bedient werden kann. Mal sehen, wo das Projekt noch hinführt. wünsch euch einen schönen Abend Flo |