Wyrywkowo.
if ($lowerStringToTranslate[$i] === $humanChar) {
$retString .= $morseChar;
$retString .= " ";
} else {
$retString .= " ";
}
Czyli co, spację dodajemy w obu przypadkach? No to zamiast duplikować tę linijkę w if
i w else
, może po prostu wyłączyć ją z warunkowej konstrukcji : )
if ($lowerStringToTranslate[$i] === $humanChar) {
$retString .= $morseChar;
}
$retString .= " ";
strlen($stringToTranslate) > 10000)
Magiczna liczba, owe dziesięć tysięcy. Lepiej wydzielić ją do czytelnie nazwanej stałej.
Do tego wszystkie funkcje mają dość podobną konstrukcję i sporo kodu się powtarza. Rozważyłbym, czy nie da się tego zrefaktorować tak, by "szkielet" stał się reużywalny i żeby zmniejszyć poziom duplikacji.