Рекомендации по Javascript на стороне сервера?

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

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

5 ответов


вот несколько советов с линии фронта:

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

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


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

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

еще одна вещь, которая получает много программистов Java / C++, - это то, что JavaScript использует функции область не блокирует область. Это может вызвать некоторые очень сложные проблемы. Существует отличная статья об этой проблеме в списке, называемом привязкой в JavaScript.


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

  • как написать объектно-ориентированный код с использованием прототипного наследования (vs.class на основе наследования)
  • как использовать закрытие и lambdas
  • как использовать силу динамического объекты
  • как написать функциональный код

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


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

Лучшие Практики Javascript

JavaScript лучшие практики pdf-файл