Заметки за октябрь 2009 года :: Хранитель заметок

noteskeeper.ru

Персональный журнал для заметок Владимира Кузнецова

Заметки за октябрь 2009 года

«Красивый» Javascript код

Достаточно давно Дуглас Крокфорд выработал некие соглашения по оформлению кода, которые он использует на практике и призывает использовать других программистов.

Чтобы удобно и быстро можно было делать проверку кода на соответствие этим соглашениям, он написал приложение JSLint, которое анализирует код и дает подсказки о том, как следует исправить проблемные места.

Самое интересное в этом приложении, что туда постоянно добавляются новые правила. Другими словами, для программы, которая год назад прекрасно валидировалась им, сегодня можно получить массу предупреждений и даже ошибок.

Так в моем коде появились ошибки типа: «Move the invocation into the parens that contain the function» и «Wrap the entire immediate function invocation in parens». Конечно, исправлять старый и работающий код не было нужды, а вот для новых разработок было бы интересно устранить эти сообщения.

JSLint выдает эти ошибки, когда встречает замыкание

(function () {})();

И предлагает оформить его как

(function () {}());

Действительно, первая пара скобок не нужна с точки зрения синтаксиса, но указывает на то, что данная функция должна выполниться немедленно. Вторая пара скобок в данном случае содержит в себе аргументы, которые будут переданы функции.

Крокфорд предлагает обернуть в первую пару скобок функцию и аргументы, которые ей будут переданы.