Completed
Push — feature/back-compat-7.5 ( 9186e7 )
by
unknown
23:17 queued 14:42
created

Static_Property   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 31
Duplicated Lines 29.03 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
dl 9
loc 31
rs 10
c 0
b 0
f 0
wmc 4
lcom 1
cbo 1

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A to_csv_array() 9 9 1
A type() 0 3 1
A display_name() 0 3 1

How to fix   Duplicated Code   

Duplicated Code

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
2
3
namespace Automattic\Jetpack\Analyzer\Invocations;
4
5
use Automattic\Jetpack\Analyzer\PersistentList\Item as PersistentListItem;
6
7
/**
8
 * Instantiation of a class
9
 *
10
 * TODO: detect dynamic instantiations like `$shape = new $class_name( $this->images )`
11
 */
12
class Static_Property extends PersistentListItem {
13
	public $path;
14
	public $line;
15
	public $class_name;
16
	public $prop_name;
17
18
	public function __construct( $path, $line, $class_name, $prop_name ) {
19
		$this->path = $path;
20
		$this->line = $line;
21
		$this->class_name = $class_name;
22
		$this->prop_name = $prop_name;
23
	}
24
25 View Code Duplication
	public function to_csv_array() {
26
		return array(
27
			$this->type(),
28
			$this->path,
29
			$this->line,
30
			$this->class_name,
31
			$this->prop_name
32
		);
33
	}
34
35
	function type() {
36
		return 'static_property';
37
	}
38
39
	function display_name() {
40
		return $this->class_name . '::$' . $this->prop_name;
41
	}
42
}