validador script jshintrc eslinter javascript jslint

javascript - script - JSLint informa el carácter "Pendiente inesperado" en un nombre de variable con prefijo subrayado



jslint vs jshint (4)

Sé que algunas personas consideran que la presencia de un subrayado inicial implica que una variable es "privada", que dicha privacidad es una ficción, y asumen que es por eso que JSLint informa tales nombres con un mensaje de error.

Uso Google Analytics en un sitio web que estoy construyendo. Hago referencia a las variables de GA, como "_gaq".

Estoy intentando que mi código JS sea 100% JSLint limpio (no soy religioso acerca de mi estilo de codificación, por lo que iré con el consejo del Sr. Crockford). Dicho esto, no puedo hacer nada con los nombres de las variables de Google ... así que supongo que no puedo obtener el 100% de "limpieza".

Publico aquí en caso de que haya entendido mal el mensaje y pueda hacer algo para cumplir con las prácticas de JSLint.


Ah, ya lo he manejado ... Envuelvo las declaraciones que usan las variables prefijadas del guión bajo con los comandos JSLint para deshabilitar, luego vuelvo a habilitar esta clase de error:

/*jslint nomen: true*/ ... statement(s) with _var ... /*jslint nomen: false*/


JSLint es solo una herramienta de calidad de código. No aprobar completamente sus pruebas no significa que su código sea malo; simplemente significa que no sigue todas las convenciones establecidas por su creador. Aunque JSLint hace muy buenas sugerencias, no siempre es posible cumplirlas todas, especialmente cuando se usa la biblioteca de otra persona que no fue probada en su contra. En lugar de ensuciar su código fuente con metacomentarios sin sentido, debe verificar su código con la opción "No permitir _ en los identificadores" deshabilitada, ya que parece que no tiene sentido usar con su código particular.


La mejor manera de manejar esto es simplemente habilitar la opción "Tolerar colgando _ en identificadores" (nomen). Ver http://www.jslint.com/lint.html para detalles ...


Yo uso JSLInt con node.js. Puede pasar --nombre de bandera para evitar esta característica

jslint --nomen myfile.js