Conditions | 334 |
Paths | 3923 |
Total Lines | 302 |
Lines | 10 |
Ratio | 3.31 % |
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 |
||
110 | public function getPluralIndex($locale, $number) |
||
111 | { |
||
112 | switch ($locale) { |
||
113 | case 'az': |
||
114 | case 'az_AZ': |
||
115 | case 'bo': |
||
116 | case 'bo_CN': |
||
117 | case 'bo_IN': |
||
118 | case 'dz': |
||
119 | case 'dz_BT': |
||
120 | case 'id': |
||
121 | case 'id_ID': |
||
122 | case 'ja': |
||
123 | case 'ja_JP': |
||
124 | case 'jv': |
||
125 | case 'ka': |
||
126 | case 'ka_GE': |
||
127 | case 'km': |
||
128 | case 'km_KH': |
||
129 | case 'kn': |
||
130 | case 'kn_IN': |
||
131 | case 'ko': |
||
132 | case 'ko_KR': |
||
133 | case 'ms': |
||
134 | case 'ms_MY': |
||
135 | case 'th': |
||
136 | case 'th_TH': |
||
137 | case 'tr': |
||
138 | case 'tr_CY': |
||
139 | case 'tr_TR': |
||
140 | case 'vi': |
||
141 | case 'vi_VN': |
||
142 | case 'zh': |
||
143 | case 'zh_CN': |
||
144 | case 'zh_HK': |
||
145 | case 'zh_SG': |
||
146 | case 'zh_TW': |
||
147 | return 0; |
||
148 | case 'af': |
||
149 | case 'af_ZA': |
||
150 | case 'bn': |
||
151 | case 'bn_BD': |
||
152 | case 'bn_IN': |
||
153 | case 'bg': |
||
154 | case 'bg_BG': |
||
155 | case 'ca': |
||
156 | case 'ca_AD': |
||
157 | case 'ca_ES': |
||
158 | case 'ca_FR': |
||
159 | case 'ca_IT': |
||
160 | case 'da': |
||
161 | case 'da_DK': |
||
162 | case 'de': |
||
163 | case 'de_AT': |
||
164 | case 'de_BE': |
||
165 | case 'de_CH': |
||
166 | case 'de_DE': |
||
167 | case 'de_LI': |
||
168 | case 'de_LU': |
||
169 | case 'el': |
||
170 | case 'el_CY': |
||
171 | case 'el_GR': |
||
172 | case 'en': |
||
173 | case 'en_AG': |
||
174 | case 'en_AU': |
||
175 | case 'en_BW': |
||
176 | case 'en_CA': |
||
177 | case 'en_DK': |
||
178 | case 'en_GB': |
||
179 | case 'en_HK': |
||
180 | case 'en_IE': |
||
181 | case 'en_IN': |
||
182 | case 'en_NG': |
||
183 | case 'en_NZ': |
||
184 | case 'en_PH': |
||
185 | case 'en_SG': |
||
186 | case 'en_US': |
||
187 | case 'en_ZA': |
||
188 | case 'en_ZM': |
||
189 | case 'en_ZW': |
||
190 | case 'eo': |
||
191 | case 'eo_US': |
||
192 | case 'es': |
||
193 | case 'es_AR': |
||
194 | case 'es_BO': |
||
195 | case 'es_CL': |
||
196 | case 'es_CO': |
||
197 | case 'es_CR': |
||
198 | case 'es_CU': |
||
199 | case 'es_DO': |
||
200 | case 'es_EC': |
||
201 | case 'es_ES': |
||
202 | case 'es_GT': |
||
203 | case 'es_HN': |
||
204 | case 'es_MX': |
||
205 | case 'es_NI': |
||
206 | case 'es_PA': |
||
207 | case 'es_PE': |
||
208 | case 'es_PR': |
||
209 | case 'es_PY': |
||
210 | case 'es_SV': |
||
211 | case 'es_US': |
||
212 | case 'es_UY': |
||
213 | case 'es_VE': |
||
214 | case 'et': |
||
215 | case 'et_EE': |
||
216 | case 'eu': |
||
217 | case 'eu_ES': |
||
218 | case 'eu_FR': |
||
219 | case 'fa': |
||
220 | case 'fa_IR': |
||
221 | case 'fi': |
||
222 | case 'fi_FI': |
||
223 | case 'fo': |
||
224 | case 'fo_FO': |
||
225 | case 'fur': |
||
226 | case 'fur_IT': |
||
227 | case 'fy': |
||
228 | case 'fy_DE': |
||
229 | case 'fy_NL': |
||
230 | case 'gl': |
||
231 | case 'gl_ES': |
||
232 | case 'gu': |
||
233 | case 'gu_IN': |
||
234 | case 'ha': |
||
235 | case 'ha_NG': |
||
236 | case 'he': |
||
237 | case 'he_IL': |
||
238 | case 'hu': |
||
239 | case 'hu_HU': |
||
240 | case 'is': |
||
241 | case 'is_IS': |
||
242 | case 'it': |
||
243 | case 'it_CH': |
||
244 | case 'it_IT': |
||
245 | case 'ku': |
||
246 | case 'ku_TR': |
||
247 | case 'lb': |
||
248 | case 'lb_LU': |
||
249 | case 'ml': |
||
250 | case 'ml_IN': |
||
251 | case 'mn': |
||
252 | case 'mn_MN': |
||
253 | case 'mr': |
||
254 | case 'mr_IN': |
||
255 | case 'nah': |
||
256 | case 'nb': |
||
257 | case 'nb_NO': |
||
258 | case 'ne': |
||
259 | case 'ne_NP': |
||
260 | case 'nl': |
||
261 | case 'nl_AW': |
||
262 | case 'nl_BE': |
||
263 | case 'nl_NL': |
||
264 | case 'nn': |
||
265 | case 'nn_NO': |
||
266 | case 'no': |
||
267 | case 'om': |
||
268 | case 'om_ET': |
||
269 | case 'om_KE': |
||
270 | case 'or': |
||
271 | case 'or_IN': |
||
272 | case 'pa': |
||
273 | case 'pa_IN': |
||
274 | case 'pa_PK': |
||
275 | case 'pap': |
||
276 | case 'pap_AN': |
||
277 | case 'pap_AW': |
||
278 | case 'pap_CW': |
||
279 | case 'ps': |
||
280 | case 'ps_AF': |
||
281 | case 'pt': |
||
282 | case 'pt_BR': |
||
283 | case 'pt_PT': |
||
284 | case 'so': |
||
285 | case 'so_DJ': |
||
286 | case 'so_ET': |
||
287 | case 'so_KE': |
||
288 | case 'so_SO': |
||
289 | case 'sq': |
||
290 | case 'sq_AL': |
||
291 | case 'sq_MK': |
||
292 | case 'sv': |
||
293 | case 'sv_FI': |
||
294 | case 'sv_SE': |
||
295 | case 'sw': |
||
296 | case 'sw_KE': |
||
297 | case 'sw_TZ': |
||
298 | case 'ta': |
||
299 | case 'ta_IN': |
||
300 | case 'ta_LK': |
||
301 | case 'te': |
||
302 | case 'te_IN': |
||
303 | case 'tk': |
||
304 | case 'tk_TM': |
||
305 | case 'ur': |
||
306 | case 'ur_IN': |
||
307 | case 'ur_PK': |
||
308 | case 'zu': |
||
309 | case 'zu_ZA': |
||
310 | return ($number == 1) ? 0 : 1; |
||
311 | case 'am': |
||
312 | case 'am_ET': |
||
313 | case 'bh': |
||
314 | case 'fil': |
||
315 | case 'fil_PH': |
||
316 | case 'fr': |
||
317 | case 'fr_BE': |
||
318 | case 'fr_CA': |
||
319 | case 'fr_CH': |
||
320 | case 'fr_FR': |
||
321 | case 'fr_LU': |
||
322 | case 'gun': |
||
323 | case 'hi': |
||
324 | case 'hi_IN': |
||
325 | case 'hy': |
||
326 | case 'hy_AM': |
||
327 | case 'ln': |
||
328 | case 'ln_CD': |
||
329 | case 'mg': |
||
330 | case 'mg_MG': |
||
331 | case 'nso': |
||
332 | case 'nso_ZA': |
||
333 | case 'ti': |
||
334 | case 'ti_ER': |
||
335 | case 'ti_ET': |
||
336 | case 'wa': |
||
337 | case 'wa_BE': |
||
338 | case 'xbr': |
||
339 | return (($number == 0) || ($number == 1)) ? 0 : 1; |
||
340 | case 'be': |
||
341 | case 'be_BY': |
||
342 | case 'bs': |
||
343 | case 'bs_BA': |
||
344 | case 'hr': |
||
345 | case 'hr_HR': |
||
346 | case 'ru': |
||
347 | case 'ru_RU': |
||
348 | case 'ru_UA': |
||
349 | case 'sr': |
||
350 | case 'sr_ME': |
||
351 | case 'sr_RS': |
||
352 | case 'uk': |
||
353 | case 'uk_UA': |
||
354 | return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); |
||
355 | case 'cs': |
||
356 | case 'cs_CZ': |
||
357 | case 'sk': |
||
358 | case 'sk_SK': |
||
359 | return ($number == 1) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2); |
||
360 | case 'ga': |
||
361 | case 'ga_IE': |
||
362 | return ($number == 1) ? 0 : (($number == 2) ? 1 : 2); |
||
363 | case 'lt': |
||
364 | View Code Duplication | case 'lt_LT': |
|
365 | return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); |
||
366 | case 'sl': |
||
367 | View Code Duplication | case 'sl_SI': |
|
368 | return ($number % 100 == 1) ? 0 : (($number % 100 == 2) ? 1 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3)); |
||
369 | case 'mk': |
||
370 | case 'mk_MK': |
||
371 | return ($number % 10 == 1) ? 0 : 1; |
||
372 | case 'mt': |
||
373 | View Code Duplication | case 'mt_MT': |
|
374 | return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)); |
||
375 | case 'lv': |
||
376 | case 'lv_LV': |
||
377 | return ($number == 0) ? 0 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2); |
||
378 | case 'pl': |
||
379 | View Code Duplication | case 'pl_PL': |
|
380 | return ($number == 1) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2); |
||
381 | case 'cy': |
||
382 | case 'cy_GB': |
||
383 | return ($number == 1) ? 0 : (($number == 2) ? 1 : ((($number == 8) || ($number == 11)) ? 2 : 3)); |
||
384 | case 'ro': |
||
385 | case 'ro_RO': |
||
386 | return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2); |
||
387 | case 'ar': |
||
388 | case 'ar_AE': |
||
389 | case 'ar_BH': |
||
390 | case 'ar_DZ': |
||
391 | case 'ar_EG': |
||
392 | case 'ar_IN': |
||
393 | case 'ar_IQ': |
||
394 | case 'ar_JO': |
||
395 | case 'ar_KW': |
||
396 | case 'ar_LB': |
||
397 | case 'ar_LY': |
||
398 | case 'ar_MA': |
||
399 | case 'ar_OM': |
||
400 | case 'ar_QA': |
||
401 | case 'ar_SA': |
||
402 | case 'ar_SD': |
||
403 | case 'ar_SS': |
||
404 | case 'ar_SY': |
||
405 | case 'ar_TN': |
||
406 | View Code Duplication | case 'ar_YE': |
|
407 | return ($number == 0) ? 0 : (($number == 1) ? 1 : (($number == 2) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))); |
||
408 | default: |
||
409 | return 0; |
||
410 | } |
||
411 | } |
||
412 | } |
||
413 |
This check looks for the generic type
array
as a return type and suggests a more specific type. This type is inferred from the actual code.