使用Java或C#等面向对象语言进行开发时,开发人员在开始之前使用UML等设计工具制作类图,创建界面,定义主要组件和交互,概述API等等并不少见。实施
我知道对于大多数小型JavaScript应用程序而言,这些软件工程原理可能过度,但如果您正在开发库(jQuery,YUI)或创建大型应用程序(Gmail,Google Docs),那么创建它是个好主意。在开始编写任何代码之前,先设计并制定计划。
一般来说,JavaScript开发或Web开发中是否使用过类似的做法?
修改
为了澄清,我对创建类/接口或为JavaScript创建UML不感兴趣。 JavaScript是与Java / C#不同的范例,因此需要不同的设计工具。我很想知道那些JavaScript设计工具/实践是什么,如果有的话。
也许这个问题更好地问我想知道什么:如果像Google这样的公司创建了一个大型Web应用程序并且有几十个团队成员创建它,那么团队会使用哪些流程,文档和实践来成功创建,协作,巩固设计?他们会使用哪些工具(例如,UML,流程图,一张纸上的潦草笔记)来处理和共享应用程序的设计(无需编写任何代码)?
答案 0 :(得分:8)
我是Google Javascript风格指南的粉丝:
答案 1 :(得分:1)
我认为答案在很大程度上取决于您使用客户端的库(如果有的话)。
例如,Jquery代码与Sencha或Sproutcore代码看起来非常不同。在Sencha和Sproutcore中,该框架为您提供了用于开发组件的“类”系统,因此这些框架适用于规范形式的设计模式。
另请注意,javascript与Java或C#非常不同。你可以在你的代码上强加一个接口类型系统,但是如果你这样做,许多人会认为你正在杀死javascript动态语言的真棒。
那就是说,制定计划总是好的。如果你可以通过扩展JS对象来保持DRY,那么我认为你应该这样做。设置一些高级设计总是有意义的。