Серверная часть Javascript лучшие практики? - PullRequest
7 голосов
/ 30 ноября 2009

У нас есть CMS, построенная на Java, и она имеет Mozilla Rhino для серверной части JS. На данный момент кодовая база JS мала, но растет. Пока не стало слишком поздно, и код превратился в ужасную неразбериху, я хочу представить некоторые лучшие практики и стиль кодирования.

Очевидно, что управление пространством имен довольно важно. Но как насчет других лучших практик - особенно для программистов на Java?

Ответы [ 5 ]

20 голосов
/ 03 декабря 2009

Вот несколько советов от передовых:

  • Как и в Java, используйте функции docblocks в стиле Doxygen / JsDoc для функций
  • Юнит тест. Лично как JsTestDriver, поскольку он также может выполняться автоматически с CI-сервера.
  • Используйте JSLint. Это будет придирчиво к плохому коду
  • Подумайте об использовании Google Closure Compiler. Он будет придирчив к коду, подобному JSLint, но может быть полезен для выявления плохих блоков документов и т. Д.
  • Убедитесь, что все в вашей команде понимают, как работают замыкания. В противном случае это приведет к головным болям
  • Как вы упоминаете, пространства имен важны, особенно если вы хотите, чтобы ваш код хорошо работал с другими библиотеками JS (var myns = myns || {};)
  • Лично я нахожу использование библиотеки, которая предоставляет помощников ООП, таких как классы и т. Д., Полезными. Вы можете использовать наследование прототипов, но зачастую это немного сложнее.
3 голосов
/ 30 ноября 2009

Я бы посмотрел на CommonJS (ранее ServerJS). Это очень большая работа, но у них есть стандартизированная система модулей с несколькими реализациями. В спецификации CommonJS уже есть несколько полезных библиотек, например Narwhal .

2 голосов
/ 03 декабря 2009

Как любит говорить Дуглас Крокфорд, JavaScript - самый неправильно понимаемый язык программирования в мире. Хотя многие люди не знают об этом, есть 1001 * правильный способ кодирования в JavaScript. Я не сомневаюсь, что если вы позволите Java-разработчикам начать писать код, прежде чем понимать, как писать хороший JavaScript, у вас возникнут серьезные проблемы.

Первое, что нужно сделать, это убедиться, что все прочитали отличную статью Mozilla «Повторное введение в JavaScript» (https://developer.mozilla.org/en/a_re-introduction_to_javascript).). Одна из самых больших проблем с JavaScript - это то, что выполнять наиболее распространенные задачи, и эта статья должна привлечь людей на одну и ту же страницу.Другим важным справочным материалом является работа Дугласа Крокфорда, включая JavaScript: The Good Parts.

Еще одна вещь, которая привлекает многих программистов на Java / C ++, это то, что JavaScript использует function scope, а не block scope. Это может вызвать некоторые очень сложные проблемы. В A List Apart есть отличная статья под названием Binding in JavaScript.


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

  • как писать объектно-ориентированный код с использованием прототипного наследования (по сравнению с наследованием на основе классов)
  • как использовать крышки и лямбды
  • как использовать силу динамических объектов
  • как написать код в функциональной области
1 голос
/ 08 декабря 2009

Ниже приведено несколько ссылок, которые могут вам помочь:

Javascript Best Practices

PDF-файл с рекомендациями JavaScript

1 голос
/ 30 ноября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...