JSLint сообщает "Неожиданный висячий" символ в имени префиксной строки подчеркивания

Я знаю, что некоторые люди считают наличие лидирующего подчеркивания подразумевающим, что переменная является "частной", что такая конфиденциальность является фикцией и предполагает, что именно поэтому JSLint сообщает об этих именах с сообщением об ошибке.

Я использую Google Analytics на веб-сайте, который я создаю. Я ссылаюсь на переменные GA, такие как "_gaq."

Я пытаюсь получить мой JS-код на 100% JSLint clean (я не религиозен в отношении стиля кодирования, и так пойдет с адвокатом г-на Крокфорда). Тем не менее, я не могу ничего сделать с именами переменных Google... поэтому, я думаю, я не могу получить 100% "чистый".

Я размещаю здесь, если я неправильно понял сообщение и могу сделать что-то, чтобы соответствовать практикам JSLint.

Ответ 1

А, у меня это обработано... Я переношу утверждения, которые используют префиксные символы подчеркивания с помощью команд JSLint, чтобы отключить, а затем снова включить этот класс ошибок:

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

Ответ 2

Лучший способ справиться с этим - это просто включить опцию "Tolerate dangling _ in identifiers" (nomen). Подробнее см. http://www.jslint.com/lint.html...

Ответ 3

JSLint - это просто инструмент для улучшения качества кода. Не полностью пройти его тесты не означает, что ваш код плохой; это просто означает, что вы не следуете всем соглашениям, изложенным его создателем. Хотя JSLint делает очень хорошие предложения, не всегда возможно выполнить их все, особенно при использовании другой библиотеки, которая не была протестирована против нее. Вместо того, чтобы засорять ваш исходный код бессмысленными мета-комментариями, вы должны проверить свой код с отключенной опцией "Запретить зависание _ в идентификаторах", поскольку, похоже, не имеет смысла использовать этот код.

Ответ 4

Я использую JSLInt с node.js. Вы можете передать флаг -nomen, чтобы обойти эту функцию.

jslint --nomen myfile.js