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  | 
            ||
| 25 | class ExperimentsController extends Controller  | 
            ||
| 26 | { | 
            ||
| 27 | public function listAction(Request $request)  | 
            ||
| 
                                                                                                    
                        
                         | 
                |||
| 28 |     { | 
            ||
| 29 |         return $this->render('ONGRSettingsBundle:Experiments:list.html.twig'); | 
            ||
| 30 | }  | 
            ||
| 31 | |||
| 32 | /**  | 
            ||
| 33 | * Returns a json list of experiments  | 
            ||
| 34 | *  | 
            ||
| 35 | * @return JsonResponse  | 
            ||
| 36 | */  | 
            ||
| 37 | public function getFullExperimentsAction()  | 
            ||
| 56 | |||
| 57 | /**  | 
            ||
| 58 | * Returns a json list of targets for experiment  | 
            ||
| 59 | *  | 
            ||
| 60 | * @param Request $request  | 
            ||
| 61 | *  | 
            ||
| 62 | * @return JsonResponse  | 
            ||
| 63 | */  | 
            ||
| 64 | public function getTargetsAction(Request $request)  | 
            ||
| 93 | |||
| 94 | /**  | 
            ||
| 95 | * Returns a json list of targets for experiment  | 
            ||
| 96 | *  | 
            ||
| 97 | * @param Request $request  | 
            ||
| 98 | *  | 
            ||
| 99 | * @return JsonResponse  | 
            ||
| 100 | */  | 
            ||
| 101 | public function getClientsByTypesAction(Request $request)  | 
            ||
| 113 | |||
| 114 | /**  | 
            ||
| 115 | * @param Request $request  | 
            ||
| 116 | *  | 
            ||
| 117 | * @return JsonResponse  | 
            ||
| 118 | */  | 
            ||
| 119 | View Code Duplication | public function toggleAction(Request $request)  | 
            |
| 130 | |||
| 131 | /**  | 
            ||
| 132 | * @param array $types  | 
            ||
| 133 | * @return array  | 
            ||
| 134 | */  | 
            ||
| 135 | private function getClientsByTypes(array $types)  | 
            ||
| 152 | }  | 
            ||
| 153 | 
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.