Существуют ли стандарты кодирования для JavaScript? [закрыто]


178

Каковы установленные стандарты кодирования для JavaScript?


1
Видя, что этот вопрос все еще появляется в поиске Google, я подумал, что добавление этого может быть актуальным. JavaScript - это реализация скрипта ECMAScript, соответствующая стандартам ECMA. Стандарт ECMA-262 . Чтобы добавить со страницы вики ECMA :Netscape delivered JavaScript to Ecma International for standardization and the work on the specification, ECMA-262, began in November 1996
Нет

12
Закрыто И защищено. Ха!?!
Робби Ди


12
// ЧТО, ЧТО ЧТО это было закрыто? Это отличный вопрос для новых программистов Javascript. Особенно учитывая состояние самого оригинального кода Javascript, написанного новыми программистами.
Натан Басанезе

1
Вы можете использовать Airbnb JavaScript Style Guide для
самых

Ответы:


76

Не совсем то, что вы ищете, но (как и видео Дуга Крокфорда) Я думаю, что все, кто пишет / редактирует / рецензирует JS, должны смотреть слайды и видео Криса Хейльмана на поддерживаемом JavaScript.

На слайдах , слайд 127, он говорит, что не стоит сильно беспокоиться о руководствах по стилю / стандартах кода, переформатируйте весь код, зарегистрированный в VCS.

Также эти:

Mozilla JavaScript Советы

Руководство по стилю JavaScript


2
У Google также есть руководство по стилю: google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
августа

3
Пытаясь решить этот вопрос (найти и выбрать стиль кода JavaScript, но при этом обеспечить некоторую гибкость), я создал файл jscode.org, где вы можете создавать собственные стили кода в соответствии с некоторыми настройками (да, это может звучать как явный реклама, но я ничего не получаю там, я просто построил это для себя и своей команды, и я думаю, что это имеет хорошую ценность).
Бруно Бернардино

Советы по Mozilla JavaScript очень редки, я бы их не включал.
Нечеткий анализ

24

Еще одна причина, по которой руководству Крокфорда по написанию JavaScript является хорошая идея:

Этот код (ниже) на самом деле возвращает undefined из-за внедрения точки с запятой в JavaScript - это чертовски веская причина заставить всю команду разработчиков петь из одного и того же листа песен:

return // injected semicolon, therefore returns 'undefined'
{
    javascript : "fantastic"
}; // object constructs anonymously but nothing happens with it.

Немного подробнее об этом: Остерегайтесь вставки точек с запятой в JavaScript


2
Существует также JSLint, чтобы помочь автоматизировать / проверить некоторые из этих рекомендаций. jslint.com
Funka

10

Я никогда не видел широко признанного стандарта кодирования JavaScript там. Некоторое время назад мы написали свои собственные, и я опубликовал их в своем блоге в соответствии с моим работодателем.

Имейте в виду, что некоторые рекомендации могут быть немного устаревшими.


Этот документ имеет ссылку на «Руководство по программированию на C #». У вас это тоже есть?
z-boss


6

Вы можете найти некоторые простые, но важные соглашения о кодировании в Google Code Wiki .

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


4

Немного озадачен тем, что я не могу найти в ответах Idiomatic.js и jQuery Core Style Guide . Адди Османи ставит эти два в самый верх полного списка стилей кодирования для JavaScript в своей статье «Руководства по стилю JavaScript и устройства для их улучшения»

Я лично предпочитаю стандарт jQuery, хотя он не сильно отличается от Idiomatic.js. Но какой бы стандарт вы ни выбрали, вам понадобится валидатор, чтобы проверить, насколько успешно вы им следуете. Я не смог найти ничего для jQuery или, по крайней мере, для Idiomatic, но в конце концов придумал JS_CodeSniffer



2

Я и несколько других недавно собрали их (PDF или HTML)

Они в первую очередь предназначены для использования с Ajax Control Toolkit, но реально содержат всевозможные полезные рекомендации независимо от того, какую среду вы используете.

Надеюсь, это поможет.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.