Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Еще одна вещь, которая привлекает многих программистов Java/C++, это то, что JavaScript использует функция область действия НЕ блокирует область действия.Это может вызвать некоторые очень сложные проблемы.На сайте A List Apart есть отличная статья об этой проблеме под названием «Привязка в JavaScript».


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

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

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

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

Рекомендации по Javascript

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top