Question

Je travaille sur un travail indépendant à la maison. Le client veut que j'écrive de nouvelles fonctionnalités pour son CMS, mais cela me prend beaucoup de temps pour comprendre ce que fait le code, car il est écrit dans un style très illisible.

Vous trouverez ci-dessous un exemple de ce que je veux dire. Le programmeur précédent a utilisé beaucoup de fonctions anonymes, d'Eval (), il utilise des opérateurs ternaires profondément imbriqués, il n'a pas lié de code, n'a pas utilisé de commentaires, et il utilise des constructions drôles comme abusant le comportement des opérateurs logiques || et && pour créer des conditions if / else (la deuxième condition de && est testée uniquement si la première est vraie, ouvrant la possibilité d'utiliser && comme construction if / else). Dans l'ensemble, c'est un code fou et cela me coûte beaucoup de temps pour savoir comment fonctionne le code actuel.

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;') : '';

Souhaitez-vous refactor ce code et comment géreriez-vous ce genre de chose avec votre client, je veux dire financièrement?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top