Валидация в JavaScript очень серьезное дело, бывает такое что усталость может создавать потенциальные проблемы в синтаксисе и логике кода. Выход есть, JSLint или JSHint. Последний является форком от JSLint.
Данный инструментарий не идеален, нужно это признавать, но "обезопасить" себя на случай каких либо "брешей в безопасности" и.т.д. можно и нужно... Вы можете зайти на один из них, ввести свой код и посмотреть есть ли в коде "узкие места". Вот что пишут про JSLint:
JSLint сканирует JavaScript код. Если он находит проблему, то возвращает сообщение с описанием и местонахождение в коде. Проблема это не обязательно ошибка синтаксиса, хотя часто так и есть. JSLint так-же обращает внимание на соглашения о кодировании а так же на проблемы в структуре. Он не доказывает что ваша программа работает верно.Он просто предоставляет еще один взгляд на ваш код.” – JSLint Documentation
JSHint создается программистом из Сан Франциско Антоном Ковалевым и вот кто пользуется данным продуктом в своей повседневной работе:
Список немалый. Какой из них выбрать и пользоваться, тут уже на вкус и цвет... Главное работать на результат. Кстати в IDE от компании JetBrains имеется встроенный анализ JSLint, последнее время эта IDE меня завораживает...
Using JSLint
Пример взят из обзорной статьи о JSLint http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-using-jslint/
До JSLint
- (function () {
- var anObject = {};
- var anElem = document.getElementById("wrap");
- var aString = "This is a string"
- if (aString === "This is a string") {
- anotherString = aString;
- }
- function person(name, age) {
- this.name = name;
- this.age = age;
- }
- var aPerson = new person("John", 25);
- }());
После JSLint
- /*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: true */
- "use strict";
- (function () {
- var anObject = {}, aPerson, anotherString,
- anElem = document.getElementById("wrap"),
- aString = "This is a string";
- if (aString === "This is a string") {
- anotherString = aString;
- }
- function Person(name, age) {
- this.name = name;
- this.age = age;
- }
- aPerson = new Person("John", 25);
- }());
Еще немного интересных статей:
Комментариев нет:
Отправить комментарий