La única vez que vi desanimar a estos operadores fue en el Douglas Crockford'sJavaScript: The Good Parts libro.
Citando las "partes malas" Apéndice:
El incremento y decremento operadores hacen que sea posible escribir en un estilo muy conciso. En lenguajes como C, hacen que sea posible escribir una sola línea que podrían hacer copias de cadena:
for (p = src, q = dest; !*p; p++, q++) *q = *p;
También fomentan un estilo de programación que, como resulta, es imprudente. La mayoría de los errores de desbordamiento de búfer que crearon terribles vulnerabilidades de seguridad se debieron a un código como este.
En mi propia práctica, observé que cuando usaba ++
y --,
mi código tendía a ser demasiado apretado, demasiado críptico. Entonces, como una cuestión de disciplina, ya no los uso. Creo que como resultado, mi estilo de codificación se ha vuelto más claro.
Además, citando el (la herramienta de la calidad del código que ha escrito) JSLint documentation:
El ++
(incremento) y --
operadores (decremento) han sido conocidos por contribuir al mal código de fomentando el exceso de trucos. Solo superan a la arquitectura defectuosa al permitir virus y otras amenazas de seguridad. Existe una opción plusplus que prohíbe el uso de estos operadores.
Realmente no le gustan estos operadores ... ¡Pero vamos! Creo que todavía podemos usar los operadores ++
y --
sin escribir un código críptico. Los uso, y me gustan. Todos los usan.
Tenga en cuenta que aunque JSLint tiene la opción de no permitir estos operadores, esta opción no está habilitada de forma predeterminada.
Se interpretan como la misma cosa. ¿Donde escuchaste esto? –
JSLint se quejará Jason. – tbranyen
Crockford, casi seguro. –