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 |
||
| 31 | class SettingsController extends Controller |
||
|
|
|||
| 32 | { |
||
| 33 | /** |
||
| 34 | * Lists all settings. |
||
| 35 | * |
||
| 36 | * @ApiDoc( |
||
| 37 | * resource=true, |
||
| 38 | * description="Lists all settings", |
||
| 39 | * statusCodes={ |
||
| 40 | * 200="Returned on success." |
||
| 41 | * } |
||
| 42 | * ) |
||
| 43 | * @Route("/api/{version}/settings/", methods={"GET"}, options={"expose"=true}, defaults={"version"="v2"}, name="swp_api_settings_list") |
||
| 44 | * |
||
| 45 | * @return SingleResourceResponse |
||
| 46 | */ |
||
| 47 | public function listAction() |
||
| 53 | |||
| 54 | /** |
||
| 55 | * Revert settings to defaults by scope. |
||
| 56 | * |
||
| 57 | * @ApiDoc( |
||
| 58 | * resource=true, |
||
| 59 | * description="Revert settings to defaults by scope", |
||
| 60 | * statusCodes={ |
||
| 61 | * 204="Returned on success." |
||
| 62 | * } |
||
| 63 | * ) |
||
| 64 | * @Route("/api/{version}/settings/revert/{scope}", methods={"POST"}, options={"expose"=true}, defaults={"version"="v2"}, name="swp_api_settings_revert") |
||
| 65 | * |
||
| 66 | * @return SingleResourceResponse |
||
| 67 | */ |
||
| 68 | public function revertAction(string $scope) |
||
| 76 | |||
| 77 | /** |
||
| 78 | * Change setting value. |
||
| 79 | * |
||
| 80 | * @ApiDoc( |
||
| 81 | * resource=true, |
||
| 82 | * description="Change setting value", |
||
| 83 | * statusCodes={ |
||
| 84 | * 200="Returned on success.", |
||
| 85 | * 404="Setting not found", |
||
| 86 | * }, |
||
| 87 | * input="SWP\Bundle\SettingsBundle\Form\Type\SettingType" |
||
| 88 | * ) |
||
| 89 | * @Route("/api/{version}/settings/", methods={"PATCH"}, options={"expose"=true}, defaults={"version"="v2"}, name="swp_api_settings_update") |
||
| 90 | * |
||
| 91 | * @param Request $request |
||
| 92 | * |
||
| 93 | * @return SingleResourceResponse |
||
| 94 | */ |
||
| 95 | public function updateAction(Request $request) |
||
| 129 | |||
| 130 | /** |
||
| 131 | * Settings bulk update - update multiple settings. |
||
| 132 | * |
||
| 133 | * @ApiDoc( |
||
| 134 | * resource=true, |
||
| 135 | * description="Settings bulk update", |
||
| 136 | * statusCodes={ |
||
| 137 | * 200="Returned on success.", |
||
| 138 | * 404="Setting not found", |
||
| 139 | * }, |
||
| 140 | * input="SWP\Bundle\SettingsBundle\Form\Type\BulkSettingsUpdateType" |
||
| 141 | * ) |
||
| 142 | * @Route("/api/{version}/settings/bulk/", methods={"PATCH"}, options={"expose"=true}, defaults={"version"="v2"}, name="swp_api_settings_bulk_update") |
||
| 143 | * |
||
| 144 | * @param Request $request |
||
| 145 | * |
||
| 146 | * @return SingleResourceResponse |
||
| 147 | */ |
||
| 148 | public function bulkAction(Request $request) |
||
| 183 | } |
||
| 184 |
This class, trait or interface has been deprecated. The supplier of the file has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the type will be removed from the class and what other constant to use instead.