Beh, secondo le best practices il tuo codice "ripulito" secondo le convenzioni suggerite da PHPMD (e psr2) dovrebbe essere così:
E ci sarebbe ancora un errore concettuale, perchè "The method add has a boolean flag argument $valid, which is a certain sign of a Single Responsibility Principle violation"codice:// le parentesi per classi e funzioni vanno messe su una nuova public function add($arg, $met, $valid = true) { $this->arg = $arg; $this->met = $met; // le parentesi per le condizioni vanno sulla stessa linea, senza spazi fra le tonde if (!$valid) { $this->met = $met*count($arg); } }
Un'altra cosa che fino a ieri non sapevo è che i nomi delle funzioni protette non vanno assolutamente preceduti da un _. In JavaScript quel carattere serve per indicare la visibilità della funzione mentre in PHP la distinzione deve avvenire solo ed esclusivamente dalla dichiarazione public, protected o private. Avendo iniziato qualche tempo fa a lavorare con node.js mi sono abituato a quel carattere e lo trovo più immediatamente visibile. Così me lo sono portato dietro su PHP ed ho scoperto di aver fatto male
Comunque devo dire che a parte alcuni consigli che trovo di difficile attuazione (tipo l'else, che in molti casi si può effettivamente evitare ma in altri non vedo come potrei farne a meno senza complicare ulteriormente il codice), in generale avere uno standard di programmazione aiuta molto, sia a livello di pulizia che per evitare potenziali problemi...