JSLint zgłasza "nieoczekiwany zwisający" znak w nazwie zmiennej poprzedzonej podkreśleniem

Wiem, że niektórzy ludzie uważają obecność podkreślenia wiodącego za implikację, że zmienna jest "prywatna", że taka prywatność jest fikcją i przyjmują, że to dlatego JSLint zgłasza takie nazwy z Komunikatem o błędzie.

Używam Google Analytics na stronie internetowej, którą buduję. Odwołuję się do zmiennych GA, takich jak " _gaq."

Staram się, aby mój kod JS był w 100% czysty JSLint (nie jestem religijny co do mojego stylu kodowania, więc pójdzie z doradcą Pana Crockforda). Że said, nie mogę nic zrobić z nazwami zmiennych Google... więc chyba nie mogę być w 100% czysty."

Zamieszczam tutaj na wypadek, gdybym źle zrozumiał wiadomość, i mogę zrobić coś, aby dostosować się do praktyk JSLint.

Author: skaffman, 2010-06-14

4 answers

Zajmę się tym... Zawijam instrukcje, które używają zmiennych poprzedzonych podkreśleniem za pomocą poleceń JSLint, aby wyłączyć, a następnie ponownie włączyć tę klasę błędu:

/*jslint nomen: true*/
... statement(s) with _var ...
/*jslint nomen: false*/
 71
Author: Zhami,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-03 19:56:29

Najlepszym sposobem radzenia sobie z tym jest włączenie opcji "toleruj zwisające _ w identyfikatorach" (nomen). Zobacz http://www.jslint.com/lint.html Po szczegóły...

 51
Author: scruffian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-01 14:48:28

JSLint jest tylko narzędziem jakości kodu. Niezupełne zdanie testów nie oznacza, że Twój kod jest zły; oznacza to po prostu, że nie przestrzegasz wszystkich konwencji określonych przez jego twórcę. Chociaż JSLint daje bardzo dobre sugestie, nie zawsze jest możliwe spełnienie ich wszystkich, zwłaszcza gdy korzysta się z cudzej biblioteki, która nie została przetestowana. Zamiast zaśmiecać swój kod źródłowy bezsensownymi meta-komentarzami, powinieneś sprawdzić swój kod za pomocą "Disallow _ in identyfikator " opcja wyłączona, ponieważ wydaje się, że nie ma sensu używać z danym kodem.

 15
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-06 08:40:29

Używam JSLInt z node.js. Możesz przekazać --nomen flag, aby ominąć tę funkcję

jslint --nomen myfile.js 
 8
Author: Jaseem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-09 14:43:06