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 |
||
| 68 | class EventService { |
||
| 69 | |||
| 70 | |||
| 71 | /** @var IEventDispatcher */ |
||
| 72 | private $eventDispatcher; |
||
| 73 | |||
| 74 | |||
| 75 | /** |
||
| 76 | * EventService constructor. |
||
| 77 | * |
||
| 78 | * @param IEventDispatcher $eventDispatcher |
||
| 79 | */ |
||
| 80 | public function __construct(IEventDispatcher $eventDispatcher) { |
||
| 83 | |||
| 84 | |||
| 85 | /** |
||
| 86 | * @param FederatedEvent $federatedEvent |
||
| 87 | */ |
||
| 88 | public function circleCreating(FederatedEvent $federatedEvent): void { |
||
| 92 | |||
| 93 | /** |
||
| 94 | * @param FederatedEvent $federatedEvent |
||
| 95 | * @param array $results |
||
| 96 | */ |
||
| 97 | public function circleCreated(FederatedEvent $federatedEvent, array $results): void { |
||
| 101 | |||
| 102 | |||
| 103 | /** |
||
| 104 | * @param FederatedEvent $federatedEvent |
||
| 105 | */ |
||
| 106 | public function circleEditing(FederatedEvent $federatedEvent): void { |
||
| 110 | |||
| 111 | /** |
||
| 112 | * @param FederatedEvent $federatedEvent |
||
| 113 | * @param array $results |
||
| 114 | */ |
||
| 115 | public function circleEdited(FederatedEvent $federatedEvent, array $results): void { |
||
| 119 | |||
| 120 | |||
| 121 | /** |
||
| 122 | * @param FederatedEvent $federatedEvent |
||
| 123 | */ |
||
| 124 | public function circleDestroying(FederatedEvent $federatedEvent): void { |
||
| 128 | |||
| 129 | /** |
||
| 130 | * @param FederatedEvent $federatedEvent |
||
| 131 | * @param array $results |
||
| 132 | */ |
||
| 133 | public function circleDestroyed(FederatedEvent $federatedEvent, array $results): void { |
||
| 137 | |||
| 138 | |||
| 139 | /** |
||
| 140 | * @param FederatedEvent $federatedEvent |
||
| 141 | */ |
||
| 142 | public function memberAdding(FederatedEvent $federatedEvent): void { |
||
| 147 | |||
| 148 | /** |
||
| 149 | * @param FederatedEvent $federatedEvent |
||
| 150 | * @param array $results |
||
| 151 | */ |
||
| 152 | public function memberAdded(FederatedEvent $federatedEvent, array $results): void { |
||
| 157 | |||
| 158 | |||
| 159 | /** |
||
| 160 | * @deprecated |
||
| 161 | * @param FederatedEvent $federatedEvent |
||
| 162 | */ |
||
| 163 | public function multipleMemberAdding(FederatedEvent $federatedEvent): void { |
||
| 168 | |||
| 169 | /** |
||
| 170 | * @deprecated |
||
| 171 | * @param FederatedEvent $federatedEvent |
||
| 172 | * @param array $results |
||
| 173 | */ |
||
| 174 | public function multipleMemberAdded(FederatedEvent $federatedEvent, array $results): void { |
||
| 179 | |||
| 180 | |||
| 181 | /** |
||
| 182 | * @param FederatedEvent $federatedEvent |
||
| 183 | */ |
||
| 184 | public function memberInviting(FederatedEvent $federatedEvent): void { |
||
| 189 | |||
| 190 | /** |
||
| 191 | * @param FederatedEvent $federatedEvent |
||
| 192 | * @param array $results |
||
| 193 | */ |
||
| 194 | public function memberInvited(FederatedEvent $federatedEvent, array $results): void { |
||
| 199 | |||
| 200 | |||
| 201 | /** |
||
| 202 | * @param FederatedEvent $federatedEvent |
||
| 203 | */ |
||
| 204 | public function memberRequesting(FederatedEvent $federatedEvent): void { |
||
| 209 | |||
| 210 | /** |
||
| 211 | * @param FederatedEvent $federatedEvent |
||
| 212 | * @param array $results |
||
| 213 | */ |
||
| 214 | public function memberRequested(FederatedEvent $federatedEvent, array $results): void { |
||
| 219 | |||
| 220 | |||
| 221 | /** |
||
| 222 | * @param FederatedEvent $federatedEvent |
||
| 223 | */ |
||
| 224 | public function memberJoining(FederatedEvent $federatedEvent): void { |
||
| 229 | |||
| 230 | /** |
||
| 231 | * @param FederatedEvent $federatedEvent |
||
| 232 | * @param array $results |
||
| 233 | */ |
||
| 234 | public function memberJoined(FederatedEvent $federatedEvent, array $results): void { |
||
| 239 | |||
| 240 | |||
| 241 | /** |
||
| 242 | * @param FederatedEvent $federatedEvent |
||
| 243 | */ |
||
| 244 | View Code Duplication | public function memberLevelEditing(FederatedEvent $federatedEvent): void { |
|
| 250 | |||
| 251 | /** |
||
| 252 | * @param FederatedEvent $federatedEvent |
||
| 253 | * @param array $results |
||
| 254 | */ |
||
| 255 | View Code Duplication | public function memberLevelEdited(FederatedEvent $federatedEvent, array $results): void { |
|
| 261 | |||
| 262 | |||
| 263 | /** |
||
| 264 | * @param FederatedEvent $federatedEvent |
||
| 265 | */ |
||
| 266 | View Code Duplication | public function memberNameEditing(FederatedEvent $federatedEvent): void { |
|
| 272 | |||
| 273 | /** |
||
| 274 | * @param FederatedEvent $federatedEvent |
||
| 275 | * @param array $results |
||
| 276 | */ |
||
| 277 | View Code Duplication | public function memberNameEdited(FederatedEvent $federatedEvent, array $results): void { |
|
| 283 | |||
| 284 | |||
| 285 | /** |
||
| 286 | * @param FederatedEvent $federatedEvent |
||
| 287 | */ |
||
| 288 | public function memberRemoving(FederatedEvent $federatedEvent): void { |
||
| 293 | |||
| 294 | /** |
||
| 295 | * @param FederatedEvent $federatedEvent |
||
| 296 | * @param array $results |
||
| 297 | */ |
||
| 298 | public function memberRemoved(FederatedEvent $federatedEvent, array $results): void { |
||
| 303 | |||
| 304 | |||
| 305 | /** |
||
| 306 | * @param FederatedEvent $federatedEvent |
||
| 307 | */ |
||
| 308 | public function memberLeaving(FederatedEvent $federatedEvent): void { |
||
| 313 | |||
| 314 | /** |
||
| 315 | * @param FederatedEvent $federatedEvent |
||
| 316 | * @param SimpleDataStore[] $results |
||
| 317 | */ |
||
| 318 | public function memberLeft(FederatedEvent $federatedEvent, array $results): void { |
||
| 323 | |||
| 324 | |||
| 325 | /** |
||
| 326 | * @param Membership[] $new |
||
| 327 | */ |
||
| 328 | public function membershipsCreated(array $new): void { |
||
| 332 | |||
| 333 | |||
| 334 | /** |
||
| 335 | * @param Membership[] $deprecated |
||
| 336 | */ |
||
| 337 | public function membershipsRemoved(array $deprecated): void { |
||
| 341 | |||
| 342 | |||
| 343 | /** |
||
| 344 | * @param ShareWrapper $wrappedShare |
||
| 345 | */ |
||
| 346 | public function localShareCreated(ShareWrapper $wrappedShare): void { |
||
| 348 | |||
| 349 | /** |
||
| 350 | * @param ShareWrapper $wrappedShare |
||
| 351 | */ |
||
| 352 | public function federatedShareCreated(ShareWrapper $wrappedShare, Mount $mount): void { |
||
| 359 | |||
| 360 | |||
| 361 | /** |
||
| 362 | * @param ShareWrapper $wrappedShare |
||
| 363 | */ |
||
| 364 | public function localShareDeleted(ShareWrapper $wrappedShare): void { |
||
| 366 | |||
| 367 | /** |
||
| 368 | * @param ShareWrapper $wrappedShare |
||
| 369 | */ |
||
| 370 | public function federatedShareDeleted(ShareWrapper $wrappedShare): void { |
||
| 372 | |||
| 373 | |||
| 374 | |||
| 375 | // /** |
||
| 376 | // * @param FederatedEvent $federatedEvent |
||
| 377 | // */ |
||
| 378 | // public function onSharedItemsSyncRequested(FederatedEvent $federatedEvent) { |
||
| 379 | // $event = new SharedItemsSyncRequestedEvent($federatedEvent); |
||
| 380 | // $this->eventDispatcher->dispatchTyped($event); |
||
| 381 | // } |
||
| 382 | |||
| 383 | } |
||
| 384 | |||
| 385 |
This class constant has been deprecated.