Hallo Rolf,
ich freue mich über Deine Kritik und übernehme gerne ein paar Punkte.
wähle die Schreibweise deiner Variablen konsistent.
- underscored: mp3_files
- camel case : mp3Files
- pascal case: Mp3Files
Werde ich versuchen, kann aber nicht dafür garantieren. Habe über die Jahrfe so meine eigene Idee von Variablennamen entwickelt. Ich weiß nicht, ob ich mich da so diszipliniert bekomme.
$Song passt da nicht rein. Namen mit Großbuchstaben vorne sind für Klassen gedacht. Schau Dir mal die PSRs an.
Oh. Das kann ich berücksichtigen.
$mp3Files_newName[$i] = sprintf("%04d %s", $i+1, $arr_song[1]);
Was macht das %s genau?
- Mach deinen Code robuster. Ein Dateiname wie "007Goldeneye.mp3" schießt dich ab.
Kann nicht vorkommen, aber egal. Finde es trotzdem sinnvoll, was Du sagst.
- Es ist nicht gut, $mp3Files[$i] als Renamequelle zu nutzen. Du machst eine foreach-Schleife, der Schleifenwert steht in $Song, dann solltest Du den auch verwenden. Dass $Song und $mp3Files[$i] identisch sind, ist eine möglicherweise richtige Annahme, aber wenn dein drei Monate älteres Ich diesen Code vorfindet und sieht, dass Du mal $Song und mal $mp3Files[$i] verwendest, wird es sich fragen: Wieso zum grundgütigen Geier nahm ich erst dies und dann das? Gab's da einen Grund für?!?!?! Und dann wirst Du Dich verfluchen 😉
Einverstanden. 👍
Ich hätt's vermutlich so geschrieben:
$cleanName = count($nameParts) > 1 ? $nameParts[1] : $songName; $newName = sprintf("%04d $s", $i++, $cleanName);
Ich verstehe nicht ganz, was Du in der ersten zeile prüfst, ich mag dieses Kurzschreibweisen auch nicht.
Und die ZusaMMENSETZUNG von $newName ist mir auch nicht ganz klar.
Ansonsten schöner, schlanker Code.
Jörg