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 | trait MessagePropertiesForPeek |
||
| 9 | { |
||
| 10 | use MessageIdAndMD5; |
||
| 11 | |||
| 12 | protected $messageBody; |
||
| 13 | protected $enqueueTime; |
||
| 14 | protected $nextVisibleTime; |
||
| 15 | protected $firstDequeueTime; |
||
| 16 | protected $dequeueCount; |
||
| 17 | protected $priority; |
||
| 18 | |||
| 19 | public function getMessageBody() |
||
| 20 | { |
||
| 21 | return $this->messageBody; |
||
| 22 | } |
||
| 23 | |||
| 24 | public function getEnqueueTime() |
||
| 25 | { |
||
| 26 | return $this->enqueueTime; |
||
| 27 | } |
||
| 28 | |||
| 29 | public function getNextVisibleTime() |
||
| 30 | { |
||
| 31 | return $this->nextVisibleTime; |
||
| 32 | } |
||
| 33 | |||
| 34 | public function getFirstDequeueTime() |
||
| 35 | { |
||
| 36 | return $this->firstDequeueTime; |
||
| 37 | } |
||
| 38 | |||
| 39 | public function getDequeueCount() |
||
| 40 | { |
||
| 41 | return $this->dequeueCount; |
||
| 42 | } |
||
| 43 | |||
| 44 | public function getPriority() |
||
| 45 | { |
||
| 46 | return $this->priority; |
||
| 47 | } |
||
| 48 | |||
| 49 | public function readMessagePropertiesForPeekXML(\XMLReader $xmlReader, $base64) |
||
| 50 | { |
||
| 51 | $message = Message::fromXML($xmlReader, $base64); |
||
| 52 | $this->messageId = $message->getMessageId(); |
||
| 53 | $this->messageBodyMD5 = $message->getMessageBodyMD5(); |
||
| 54 | $this->messageBody = $message->getMessageBody(); |
||
| 55 | $this->enqueueTime = $message->getEnqueueTime(); |
||
| 56 | $this->nextVisibleTime = $message->getNextVisibleTime(); |
||
| 57 | $this->firstDequeueTime = $message->getFirstDequeueTime(); |
||
| 58 | $this->dequeueCount = $message->getDequeueCount(); |
||
| 59 | $this->priority = $message->getPriority(); |
||
| 60 | } |
||
| 61 | } |
||
| 62 | |||
| 64 |