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


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

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

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

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

4 72

4 ответа:

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

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

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

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

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

jslint --nomen myfile.js