JavaScript开发是否有良好的设计实践或标准?

JavaScript开发是否有良好的设计实践或标准?,javascript,Javascript,当使用面向对象的语言(如Java或C#)进行开发时,开发人员在开始实现之前,使用UML等设计工具制作类图、创建接口、定义主要组件和交互、概述API等并不少见 我知道对于大多数小型JavaScript应用程序来说,这些软件工程原理可能有些过分,但如果您正在开发一个库(jQuery、YUI)或创建一个大型应用程序(Gmail、Google Docs),那么在开始编写任何代码之前,最好先创建一个设计和计划 一般来说,JavaScript开发或web开发中是否使用过类似的实践 编辑: 只是澄清一下,我对

当使用面向对象的语言(如Java或C#)进行开发时,开发人员在开始实现之前,使用UML等设计工具制作类图、创建接口、定义主要组件和交互、概述API等并不少见

我知道对于大多数小型JavaScript应用程序来说,这些软件工程原理可能有些过分,但如果您正在开发一个库(jQuery、YUI)或创建一个大型应用程序(Gmail、Google Docs),那么在开始编写任何代码之前,最好先创建一个设计和计划

一般来说,JavaScript开发或web开发中是否使用过类似的实践

编辑:

只是澄清一下,我对创建类/接口或为JavaScript创建UML不感兴趣。JavaScript与Java/C等不同,因此需要不同的设计工具。我很想知道那些JavaScript设计工具/实践是什么,如果有的话


也许这个问题更适合问我想知道什么:如果像谷歌这样的公司创建了一个大型web应用程序,并且有几十个团队成员创建它,那么这样的团队会使用什么流程、文档和实践来成功地创建、协作和巩固设计?他们将使用什么工具(例如,UML、流程图、在纸上涂鸦的注释)来处理和共享应用程序的设计(无需编写一行代码)?

我认为答案在很大程度上取决于使用客户端的库(如果有的话)

例如,Jquery代码看起来与Sencha或Sproutcore代码非常不同。在Sencha和Sproutcore中,框架为开发组件提供了一个“类”系统,因此这些框架适合于设计模式的规范形式

还要注意,javascript与Java或C#非常不同。你可以在你的代码上强加一个接口类型系统,但是很多人会认为如果你这样做的话,你就是在扼杀javascript动态语言的魅力


也就是说,有个计划总是好的。如果您可以通过扩展JS对象来保持干燥,那么我认为您应该这样做。将一些高级设计放在适当的位置总是有意义的。

我是谷歌Javascript风格指南的粉丝:


谢谢您的评论。我知道JavaScript与Java/C不同,这就是为什么我不想使用为面向对象语言构建的设计工具。然而,我也不想在记事本或Word文档中乱写设计说明。如果有一种标准或最佳实践方式来表达“这是我们为web应用程序商定的设计/API”,那就太好了。如果它是一个真正的RIA,那么我相信你应该设计它。在这里查看我的答案,看看我是如何设计我的一个应用程序的一部分的:你可以将任何语言无关的设计方法应用于JavaScript。我倾向于定义模块的接口并开发单元测试。您还可以使用诸如underline.js之类的库来应用高级函数抽象。很高兴能读到其中的一些建议。我不知道内存泄漏的事。