Sto lavorando a un lavoro freelance a casa. Il cliente vuole che scriva alcune nuove funzionalità per il suo CMS, ma mi ci vuole un sacco di tempo per capire cosa sta facendo il codice, perché è scritto in uno stile molto illeggibile.
Di seguito è solo un esempio di cosa intendo. Il programmatore precedente ha fatto ampio uso delle funzioni anonime, di eval (), usa operatori ternari profondamente annidati, non ha indentato il codice, non ha usato commenti, e usa costruzioni divertenti come l'abuso del comportamento degli operatori logici || e & & per creare condizioni if / else (la seconda condizione di & viene testata solo se la prima è vera, aprendo la possibilità di usare & & come una costruzione if / else). Tutto sommato è un codice folle e mi costa un sacco di tempo per scoprire come funziona il codice attuale.
return ($this->main->context != "ajax" || in_array($this->type, $this->definition->ajax)) ? eval('return method_exists($this,"Show'.ucfirst($this->type).'") ? $this->Show'.ucfirst($this->type).'('.(count($args) ? join(",",array_map(create_function('$a','return (is_numeric($a) || preg_match("/^array/",$a)) ? $a : "\"".$a."\"";'),$args)) : "").') : null;') : '';
Ristrongrà questo codice e come gestiresti questo genere di cose con il tuo cliente, intendo finanziariamente?