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 |
||
8 | class Profil { |
||
9 | private $vacances; |
||
10 | |||
11 | //-------------------------- BUILDER ----------------------------------------------------------------------------// |
||
12 | public function __construct() { |
||
28 | //-------------------------- END BUILDER ----------------------------------------------------------------------------// |
||
29 | |||
30 | |||
31 | //-------------------------- GETTER ----------------------------------------------------------------------------// |
||
32 | public function getVacances(){ |
||
35 | |||
36 | /** |
||
37 | * @return string |
||
38 | * fonction qui test si le compte est en mode vacances ou pas |
||
39 | */ |
||
40 | public function getTestModeVacances($id_identite = null) { |
||
62 | |||
63 | /** |
||
64 | * @return string |
||
65 | * fonction qui renvoi la durée depuis lquelle le compte est en vacances |
||
66 | */ |
||
67 | public function getDureeVacances() { |
||
75 | |||
76 | /** |
||
77 | * @param $id_base |
||
78 | * @return mixed |
||
79 | * permet de tester si une base est en vacances ou non |
||
80 | */ |
||
81 | public static function getTestVacancesBase($id_base) { |
||
96 | |||
97 | /** |
||
98 | * @return bool |
||
99 | * fonction qui récupère toutes les construction en cours de la base |
||
100 | */ |
||
101 | View Code Duplication | private function getAllConstructionBases() { |
|
115 | |||
116 | /** |
||
117 | * @return bool |
||
118 | * fonction qui récupère toutes les recherches, recrutement, missions et offre de marché en cours de la base |
||
119 | */ |
||
120 | private static function getAllThingsBases($table) { |
||
133 | |||
134 | /** |
||
135 | * @return bool |
||
136 | * fonction qui récupère toutes les transports en cours de la base |
||
137 | */ |
||
138 | View Code Duplication | private static function getAllMarcheBases() { |
|
152 | //-------------------------- END GETTER ----------------------------------------------------------------------------// |
||
153 | |||
154 | |||
155 | //-------------------------- SETTER ----------------------------------------------------------------------------// |
||
156 | /** |
||
157 | * fonction qui permet d'activer le mode vacances |
||
158 | */ |
||
159 | public static function setActiverModeVacances() { |
||
176 | |||
177 | /** |
||
178 | * fonction qui permet de finir le mode vacances |
||
179 | */ |
||
180 | View Code Duplication | public function setDesactiverModeVacances() { |
|
190 | //-------------------------- END SETTER ----------------------------------------------------------------------------// |
||
191 | } |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.