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 |