Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
| 1 | <?php |
||
| 5 | class Base { |
||
| 6 | private $batiments; |
||
| 7 | |||
| 8 | //-------------------------- BUILDER ----------------------------------------------------------------------------// |
||
| 9 | public function __construct() { |
||
| 12 | //-------------------------- END BUILDER ----------------------------------------------------------------------------// |
||
| 13 | |||
| 14 | |||
| 15 | |||
| 16 | //-------------------------- GETTER ----------------------------------------------------------------------------// |
||
| 17 | public function getBatiments() { |
||
| 20 | |||
| 21 | /** |
||
| 22 | * fonction qui va initaliser la base |
||
| 23 | */ |
||
| 24 | public function getMaBase() { |
||
| 40 | |||
| 41 | /** |
||
| 42 | * @param null $id_base |
||
| 43 | * fonction qui va récupérer les infos de la base |
||
| 44 | */ |
||
| 45 | public function getInfoBase($id_base = null) { |
||
| 63 | |||
| 64 | /** |
||
| 65 | * fonction qui recupere tous les batiments de la base |
||
| 66 | */ |
||
| 67 | public function getBatimentsBase() { |
||
| 100 | |||
| 101 | /** |
||
| 102 | * @param null $id_identite |
||
| 103 | * fonction qui récupère les bases d'un joueur |
||
| 104 | */ |
||
| 105 | public function getBasesJoueur($id_identite = null) { |
||
| 138 | |||
| 139 | /** |
||
| 140 | * @param $id_identite |
||
| 141 | * fonction qui renvoi le pseudo d'un joueur en fonction de son ID |
||
| 142 | */ |
||
| 143 | private function getPseudoJoueur($id_identite) { |
||
| 152 | //-------------------------- END GETTER ----------------------------------------------------------------------------// |
||
| 153 | |||
| 154 | |||
| 155 | |||
| 156 | //-------------------------- SETTER ----------------------------------------------------------------------------// |
||
| 157 | private function setBatimentsBase($batiments) { |
||
| 160 | //-------------------------- END SETTER ----------------------------------------------------------------------------// |
||
| 161 | } |