JavaScript开发中有哪些好的设计实践或标准?

4
在使用Java或C#等面向对象语言进行开发时,开发人员常常会使用设计工具(如UML)制作类图、创建接口、定义主要组件和交互、概述API等来开始实现之前的规划。
我知道对于大多数小型JavaScript应用程序来说,这些软件工程原则可能过度了,但如果您正在开发库(如jQuery、YUI)或创建大型应用程序(Gmail、Google Docs),在编写任何代码之前创建设计并提前计划是个好主意。
JavaScript开发或Web开发是否有类似的做法呢?
编辑:为了澄清,我不感兴趣地为JavaScript创建类/接口或制作UML。JavaScript是一种与Java / C#等不同范例的语言,因此需要不同的设计工具。我想知道的是,如果像Google这样的公司创建了一个大型Web应用程序,并且有几十个团队成员参与其中,这样的团队将使用什么流程、文档和实践来成功创建、协作和巩固设计?他们将使用哪些工具(例如UML、流程图、纸上涂鸦)来处理和共享应用程序的设计(而不编写任何代码)?

3
你可以将任何与语言无关的设计方法应用到JavaScript中。我倾向于定义我的模块接口并根据单元测试进行开发。你也可以使用像underscore.js这样的库来实现高级功能抽象。 - Raynos
2个回答

8

+1。很高兴能看到这些建议。之前不知道有内存泄漏的问题。 - Raynos

1

我认为答案很大程度上取决于你是否在客户端使用任何库。

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

还要注意,JavaScript与Java或C#非常不同。您可以在代码上强制实施接口类型系统,但许多人会认为这样做会破坏JavaScript动态语言的优越性。

话虽如此,拥有计划总是好的。如果您可以通过扩展JS对象保持DRY,那么我认为您应该这样做。并且始终有意义地制定一些高级设计。


感谢您的评论。我知道JavaScript与Java/C#是不同的范例,这就是为什么我不想使用为面向对象语言构建的设计工具的原因。然而,我也不想在记事本或Word文档中涂鸦设计笔记。如果有一种标准或最佳实践方法来表达“这是我们为Web应用程序所同意的设计/API”,那将是很好的。 - JR.
2
@zarjay,没错。如果它是真正的RIA,那么我相信你应该设计它。请查看我的答案,了解我如何设计我的某个应用程序的一部分:https://dev59.com/BG445IYBdhLWcg3wIG59#5018499 - hvgotcodes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接