| Conditions | 94 |
| Paths | 508 |
| Total Lines | 86 |
| Lines | 10 |
| Ratio | 11.63 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 156 | private function plural($lang, $n) |
||
| 157 | { |
||
| 158 | switch ($lang) { |
||
| 159 | // Note: expressions in .po files are not strict C expressions, so extra braces might be |
||
| 160 | // needed for that expression to work here (for example see 'lt') |
||
| 161 | case 'ar': |
||
| 162 | return ($n == 0) ? 0 : ($n == 1 ? 1 : ($n == 2 ? 2 : (($n%100 >= 3 && $n%100 <= 10) ? 3 : (($n%100 >= 11 && $n%100 <= 99) || ($n%100 == 1) || ($n%100 == 2) ? 4 : 5)))); |
||
| 163 | case 'bn': |
||
| 164 | return 0; |
||
| 165 | case 'cy': |
||
| 166 | return ($n == 1) ? 0 : ($n == 2 ? 1 : (($n != 8 && $n != 11) ? 2 : 3)); |
||
| 167 | case 'cs': |
||
| 168 | return ($n == 1) ? 0 : (($n >= 2 && $n <= 4) ? 1 : 2); |
||
| 169 | case 'da': |
||
| 170 | return $n != 1; |
||
| 171 | case 'de': |
||
| 172 | return $n != 1; |
||
| 173 | case 'el': |
||
| 174 | return $n != 1; |
||
| 175 | case 'en': |
||
| 176 | return $n != 1; |
||
| 177 | case 'es': |
||
| 178 | return $n != 1; |
||
| 179 | case 'eu': |
||
| 180 | return $n != 1; |
||
| 181 | case 'fa': |
||
| 182 | return $n != 1; |
||
| 183 | case 'fi': |
||
| 184 | return $n != 1; |
||
| 185 | case 'fr': |
||
| 186 | return $n > 1; |
||
| 187 | case 'he': |
||
| 188 | return $n != 1; |
||
| 189 | case 'hi': |
||
| 190 | return $n != 1; |
||
| 191 | case 'hu': |
||
| 192 | return $n != 1; |
||
| 193 | case 'id': |
||
| 194 | return 0; |
||
| 195 | case 'it': |
||
| 196 | return $n != 1; |
||
| 197 | case 'ja': |
||
| 198 | return 0; |
||
| 199 | case 'ko': |
||
| 200 | return 0; |
||
| 201 | View Code Duplication | case 'lt': |
|
| 202 | return ($n%10 == 1 && $n%100 != 11) ? 0 : ($n%10 >= 2 && ($n%100 < 10 || $n%100 >= 20) ? 1 : 2); |
||
| 203 | case 'lv': |
||
| 204 | return ($n%10 == 1 && $n%100 != 11) ? 0 : ($n != 0 ? 1 : 2); |
||
| 205 | case 'nb': |
||
| 206 | return $n != 1; |
||
| 207 | case 'nl': |
||
| 208 | return $n != 1; |
||
| 209 | View Code Duplication | case 'pl': |
|
| 210 | return ($n == 1) ? 0 : ($n%10 >= 2 && $n%10 <= 4 && ($n%100 < 10 || $n%100 >= 20) ? 1 : 2); |
||
| 211 | case 'pt': |
||
| 212 | return $n != 1; |
||
| 213 | case 'pt-br': |
||
| 214 | return $n > 1; |
||
| 215 | case 'ro': |
||
| 216 | return ($n == 1) ? 0 : (($n == 0 || ($n%100 > 0 && $n%100 < 20)) ? 1 : 2); |
||
| 217 | View Code Duplication | case 'ru': |
|
| 218 | return ($n%10 == 1 && $n%100 != 11) ? 0 : ($n%10 >= 2 && $n%10 <= 4 && ($n%100 < 10 || $n%100 >= 20) ? 1 : 2); |
||
| 219 | case 'sl': |
||
| 220 | return ($n%100 == 1) ? 0 : ($n%100 == 2 ? 1 : ($n%100 == 3 || n%100 == 4 ? 2 : 3)); |
||
| 221 | View Code Duplication | case 'sr': |
|
| 222 | return ($n%10 == 1 && $n%100 != 11) ? 0 : ($n%10 >= 2 && $n%10 <= 4 && ($n%100 < 10 || $n%100 >= 20) ? 1 : 2); |
||
| 223 | case 'sv': |
||
| 224 | return $n != 1; |
||
| 225 | case 'th': |
||
| 226 | return 0; |
||
| 227 | case 'tr': |
||
| 228 | return 0; |
||
| 229 | case 'tw': |
||
| 230 | return 0; |
||
| 231 | View Code Duplication | case 'uk': |
|
| 232 | return ($n%10 == 1 && $n%100 != 11) ? 0 : ($n%10 >= 2 && $n%10 <= 4 && ($n%100 < 10 || $n%100 >= 20) ? 1 : 2); |
||
| 233 | case 'vi': |
||
| 234 | return 0; |
||
| 235 | case 'zh': |
||
| 236 | return 0; |
||
| 237 | default: |
||
| 238 | //plural expressions can't return negative values, so use -1 to signal unsupported language |
||
| 239 | return -1; |
||
| 240 | } |
||
| 241 | } |
||
| 242 | } |
||
| 243 |