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 |
||
| 22 | final class VariadicControllerTest extends TestCase |
||
|
|
|||
| 23 | { |
||
| 24 | public function testCanBeCreated() |
||
| 25 | { |
||
| 26 | $this->assertInstanceOf( |
||
| 27 | // VariadicController::class, // 5.4 < php (code is checked even if not executed!) |
||
| 28 | 'SymfonyUtil\Controller\VariadicController', |
||
| 29 | new VariadicController(new TwigEngine( |
||
| 30 | new Twig_Environment(new Twig_Loader_Array(['index.html.twig' => 'Hello World!'])), |
||
| 31 | new TemplateNameParser() |
||
| 32 | )) |
||
| 33 | ); |
||
| 34 | } |
||
| 35 | |||
| 36 | View Code Duplication | public function testEmptyReturnsResponse() |
|
| 47 | |||
| 48 | View Code Duplication | public function testArrayReturnsResponse() |
|
| 65 | } |
||
| 66 | |||
| 69 |
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.