<分区>
我一直在涉猎 javascript,但直到去年左右才真正开始大量编写 javascript。我注意到的一件事是我的 javascript 开始变得如此复杂,以至于它的某些部分比服务器的应用程序代码更复杂(当然减去所有框架代码,例如 Spring 或 Hibernate)。
这让我意识到,如果你想编写一个复杂的 javascript 应用程序,就像你一直在服务器上编写复杂的 Web 应用程序一样,你必须开始考虑最佳实践、架构,以及如何构建你的文件,如何测试代码,使用什么抽象来创建更小、更可重用的组件,传递参数和发送消息的最佳方式是什么,我应该传递参数还是对象文字,以及所有方面的最佳实践。这些都不是 Javascript 本身提供或鼓励的,而且每个人似乎都有自己处理一切的方式。
当然,因为 Javascript 提供的 api 开箱即用,所以我经常花费无数时间研究什么是最适合这项工作的工具。诸如导入文件和依赖项,甚至是基本的集合库之类的设施,都不是该语言处理的事情。我们不要忘记 IDE 支持,即使在像 Idea 10.5 这样的东西中,实际上也很糟糕,并且由于其动态特性以及缺乏这些包和导入的硬绑定(bind),所以远不及 Java 那样丰富。
除了我真正喜欢并感到舒服的 jquery 之外,我仍然没有就“正确”的做事方式做出任何决定。这对我来说很奇怪。
每个人似乎也都有自己的编码惯用语 - 他们要么以纯函数式风格编写,要么尝试创建一个完整的经典编程模型然后使用它。人们的编码标准和习语因图书馆和人而异。所有这些使得了解什么是“正确”的事情来完成一项令人难以置信的任务。
更糟糕的是,似乎没有关于这类事情的书籍。好像没有人费心去解决它——这与我们在 Java 空间或许多其他空间中所拥有的完全相反。
通过精炼的方式为复杂的 Web 应用程序成功编写美观且健壮的 JavaScript 的正确/成功途径是什么?