TertiaryStatValueObject::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 29

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 29
ccs 0
cts 29
cp 0
rs 9.456
c 0
b 0
f 0
cc 1
nc 1
nop 13
crap 2

How to fix   Many Parameters   

Many Parameters

Methods with many parameters are not only hard to understand, but their parameters also often become inconsistent when you need more, or different data.

There are several approaches to avoid long parameter lists:

1
<?php
2
3
namespace Kubinashi\BattlenetApi\WorldOfWarcraft\CharacterProfileApi\Stat\Model;
4
5
/**
6
 * @author  Willy Reiche
7
 * @since   2017-08-26
8
 * @version 1.0
9
 */
10
class TertiaryStatValueObject
11
{
12
    /**
13
     * @var int
14
     */
15
    private $leechRating;
16
    /**
17
     * @var int
18
     */
19
    private $leechRatingBonus;
20
    /**
21
     * @var int
22
     */
23
    private $versatility;
24
    /**
25
     * @var float
26
     */
27
    private $versatilityDamageDoneBonus;
28
    /**
29
     * @var float
30
     */
31
    private $versatilityHealingDoneBonus;
32
    /**
33
     * @var float
34
     */
35
    private $versatilityDamageTakenBonus;
36
    /**
37
     * @var int
38
     */
39
    private $avoidanceRating;
40
    /**
41
     * @var int
42
     */
43
    private $avoidanceRatingBonus;
44
    /**
45
     * @var int
46
     */
47
    private $spellPen;
48
    /**
49
     * @var float
50
     */
51
    private $spellCrit;
52
    /**
53
     * @var int
54
     */
55
    private $spellCritRating;
56
    /**
57
     * @var int
58
     */
59
    private $mana5;
60
    /**
61
     * @var int
62
     */
63
    private $mana5Combat;
64
65
    /**
66
     * TertiaryStatValueObject constructor.
67
     * @param int   $leechRating
68
     * @param int   $leechRatingBonus
69
     * @param int   $versatility
70
     * @param float $versatilityDamageDoneBonus
71
     * @param float $versatilityHealingDoneBonus
72
     * @param float $versatilityDamageTakenBonus
73
     * @param int   $avoidanceRating
74
     * @param int   $avoidanceRatingBonus
75
     * @param int   $spellPen
76
     * @param float $spellCrit
77
     * @param int   $spellCritRating
78
     * @param int   $mana5
79
     * @param int   $mana5Combat
80
     */
81
    public function __construct(
82
        $leechRating,
83
        $leechRatingBonus,
84
        $versatility,
85
        $versatilityDamageDoneBonus,
86
        $versatilityHealingDoneBonus,
87
        $versatilityDamageTakenBonus,
88
        $avoidanceRating,
89
        $avoidanceRatingBonus,
90
        $spellPen,
91
        $spellCrit,
92
        $spellCritRating,
93
        $mana5,
94
        $mana5Combat
95
    ) {
96
        $this->leechRating = $leechRating;
97
        $this->leechRatingBonus = $leechRatingBonus;
98
        $this->versatility = $versatility;
99
        $this->versatilityDamageDoneBonus = $versatilityDamageDoneBonus;
100
        $this->versatilityHealingDoneBonus = $versatilityHealingDoneBonus;
101
        $this->versatilityDamageTakenBonus = $versatilityDamageTakenBonus;
102
        $this->avoidanceRating = $avoidanceRating;
103
        $this->avoidanceRatingBonus = $avoidanceRatingBonus;
104
        $this->spellPen = $spellPen;
105
        $this->spellCrit = $spellCrit;
106
        $this->spellCritRating = $spellCritRating;
107
        $this->mana5 = $mana5;
108
        $this->mana5Combat = $mana5Combat;
109
    }
110
111
    /**
112
     * @return int
113
     */
114
    public function getLeechRating()
115
    {
116
        return $this->leechRating;
117
    }
118
119
    /**
120
     * @return int
121
     */
122
    public function getLeechRatingBonus()
123
    {
124
        return $this->leechRatingBonus;
125
    }
126
127
    /**
128
     * @return int
129
     */
130
    public function getVersatility()
131
    {
132
        return $this->versatility;
133
    }
134
135
    /**
136
     * @return float
137
     */
138
    public function getVersatilityDamageDoneBonus()
139
    {
140
        return $this->versatilityDamageDoneBonus;
141
    }
142
143
    /**
144
     * @return float
145
     */
146
    public function getVersatilityHealingDoneBonus()
147
    {
148
        return $this->versatilityHealingDoneBonus;
149
    }
150
151
    /**
152
     * @return float
153
     */
154
    public function getVersatilityDamageTakenBonus()
155
    {
156
        return $this->versatilityDamageTakenBonus;
157
    }
158
159
    /**
160
     * @return int
161
     */
162
    public function getAvoidanceRating()
163
    {
164
        return $this->avoidanceRating;
165
    }
166
167
    /**
168
     * @return int
169
     */
170
    public function getAvoidanceRatingBonus()
171
    {
172
        return $this->avoidanceRatingBonus;
173
    }
174
175
    /**
176
     * @return int
177
     */
178
    public function getSpellPen()
179
    {
180
        return $this->spellPen;
181
    }
182
183
    /**
184
     * @return float
185
     */
186
    public function getSpellCrit()
187
    {
188
        return $this->spellCrit;
189
    }
190
191
    /**
192
     * @return int
193
     */
194
    public function getSpellCritRating()
195
    {
196
        return $this->spellCritRating;
197
    }
198
199
    /**
200
     * @return int
201
     */
202
    public function getMana5()
203
    {
204
        return $this->mana5;
205
    }
206
207
    /**
208
     * @return int
209
     */
210
    public function getMana5Combat()
211
    {
212
        return $this->mana5Combat;
213
    }
214
}
215