Leser: 1
|< 1 2 >| | 14 Einträge, 2 Seiten |
1
2
3
Useless use of a constant in void context at mp3tagger.pl line 778.
Useless use of a constant in void context at mp3tagger.pl line 856.
Use of implicit split to @_ is deprecated at mp3tagger.pl line 1403.
QuoteHallo Hrhon,
da steckt eine Menge Arbeit drin - Respekt! Ich habe es nur kurz überflogen. Was mir aufgefallen ist, ist das es sehr klassisch prozedural aufgebaut ist, wogegen nichts spricht. Ich denke du hättest eine größere Übersichtlichkeit erreichen können, wenn du es in Klassen strukturiert hättest.
Quoteuse warnings ist auch immer eine gute idee:
Quotedas sollte kein problem sein. open() kann damit umgehen.
ansonsten ist man immer gut beraten, File::Spec zu benutzen. aber
ich gebe zu, das ist dann deutlich mehr tippaufwand.
Quotesub Help: sorry, aber das ist grausig, auf diese Weise text aneinanderzuhängen.
es gibt da here-docs, siehe perldoc perlop.
Quoteund ich würde wirklich versuchen, das ganze in mehrere klassen
aufzuteilen, muss ja nicht gleich objektorientiert sein, aber 2500 zeilen
ist schon eine ganze menge
Quotewenn der stil nicht so völlig anders als mein eigener wäre, würd ich mich
vielleicht noch etwas mehr damit beschäftigen. lies mal perldoc perlstyle.
mehr whitespaces, weniger klammern, variablen erst dann deklarieren,
wenn man sie braucht, und 4 spaces zum einrücken (oder auch tabs, aber
ich sehe hier 2 spaces und tabs gemischt. bin vor 1 1/2 jahren von
tabs mit einrückung 2 auf 4 spaces umgestiegen, das ist doch viel
lesbarer.)
Quoteuse warnings ist auch immer eine gute idee:
1
2
$msg.="Es wurde der ID3v2-Tag aktualisiert.\n",
"Folgende Informationen wurden in das File geschrieben:\n";
Quoteich dachte, du suchst leute, die vielleicht mithelfen. da sollte man sich
so tipps wie perlstyle etc. schon zu herzen nehmen bzw. einfach mal
durchgelesen haben.
ich jedenfalls finde den code ziemlich unleserlich, und die theorie "viel
code auf möglichst wenig platz" halte ich für wesentlich schlechter als
den ansatz "subroutinen möglichst so klein, dass sie in ein standard-
terminalfenster passen", d.h. eine subroutine sollte von der funktionalität
(nicht unbedingt von der anzahl der zeichen) klein gehalten werden.
so hat man jede funktion von anderen abkekapselt und sieht alles,
was man sehen muss, ohne zu scrollen, und doch kann man
leerzeichen zur leserlichkeit einstreuen.
das ist zumindest das, was *ich* von vielen erfahrenen programmierern
höre/lese, mir ist wirklich noch keiner begegnet, der die erste theorie
vertritt.
aber wenn du damit selbst klarkommst und es nicht zu einem öffentlichen projekt machen willst, was schade wäre...
Quotedarauf weist dich die warnung hin. an $msg wird nur der erste string
angehängt, nicht der zweite.
warnungen sind häufig der hinweis auf fehler, die du sonst nicht
finden würdest bzw. die du erst durch einen fehler im laufenden
betrieb bemerkst und dann auch noch suchen musst.
benutze warnings, du wirst später dankbar sein =)
grep "^sub" < mp3tagger.pl | nl
|< 1 2 >| | 14 Einträge, 2 Seiten |