Codigo limpio y refactorización

Optimizar código antes de tener una clara necesidad o evidencia de que es un problema puede dificultar la lectura, el mantenimiento y, en algunos casos, incluso degradar el rendimiento.

Ya lo hemos visto en el principio de YAGNI (You Aren't Gonna Need It).


Ejemplo Mal

1public void code(int[] nums) {
2    int i = 0;
3    int n = nums.length;
4    for (; i < n - 4; i += 5) {
5        nums[i] *= 2;
6        nums[i + 1] *= 2;
7        nums[i + 2] *= 2;
8        nums[i + 3] *= 2;
9        nums[i + 4] *= 2;
10    }
11    for (; i < n; i++) {
12        nums[i] *= 2;
13    }
14}

Ejemplo Corregido

1public void improvedMethod(int[] nums) {
2    for (int i = 0; i < nums.length; i++) {
3        nums[i] *= 2;
4    }
5}