我们有一个基于 Java 的 CMS,它有用于服务器端 JS 的 Mozilla Rhino。目前 JS 代码库很小但正在增长。在为时已晚和代码变得一团糟之前,我想介绍一些最佳实践和编码风格。
显然,名称空间控制非常重要。但是其他最佳实践如何——尤其是对于 Java 程序员?
我们有一个基于 Java 的 CMS,它有用于服务器端 JS 的 Mozilla Rhino。目前 JS 代码库很小但正在增长。在为时已晚和代码变得一团糟之前,我想介绍一些最佳实践和编码风格。
显然,名称空间控制非常重要。但是其他最佳实践如何——尤其是对于 Java 程序员?
以下是前线的一些提示:
var myns = myns || {};
)正如 Douglas Crockford 喜欢说的,JavaScript 是世界上最容易被误解的编程语言。虽然很多人不知道,但有一种正确的 JavaScript 编码方式。我毫不怀疑,如果您让 Java 开发人员在了解如何编写好的 JavaScript 之前就开始编码,您将遇到严重的麻烦。
首先要做的是确保每个人都阅读过 Mozilla 的优秀文章,JavaScript 的重新介绍 ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript )。JavaScript 最大的问题之一是有很多方法可以完成最常见的任务,本文应该让人们达成共识。另一个重要的参考资料是 Douglas Crockford 的作品,包括 JavaScript: The Good Parts。
吸引很多 Java/C++ 程序员的另一件事是 JavaScript 使用函数范围而不是块范围。这可能会导致一些非常棘手的问题。在 A List Apart 上有一篇关于此问题的精彩文章,名为 Binding in JavaScript。
由于您有一个 Java JS 引擎,因此请养成为您的 JS 代码编写单元测试的习惯。选择一种编码风格并大力应用它。如果可能,使用工具检查代码是否符合编码风格。