关于JavaScript的困惑

08-10-29 liang
各位大虾:
公司最近做一个项目,采用Jsp+JavaScript+Spring+Ibatis+DTO,后台倒是简单,就是

页面框架设计的很复杂,几乎模块中的每个页面上都至少有300行JavaScript代码来控制页面

上的相关动作,感觉就是相当于直接用JavaScript设计了一个框架。
虽然项目进行了分层,给我感觉不是贯彻得很彻底。为什么面向对象的开发需要这么

多JS?
各位说说这么做合理不合理,难道不能放弃对JS的依赖吗?

banq
2008-10-29 17:47
>为什么面向对象的开发需要这么多JS?

这个疑问是正常,主要你没有以OO方式正确使用JS,通过JS组件来使用OO,比如我推崇prototype.js来使用JS,面向组件方式编程,这样可以克服JS不兼容性;二可以减少直接JS编程,变成积木的拼装。

所以,不建议直接使用JS编程,而是使用基于JS构建的构件和组件,你们在使用方式上出问题了。

liang
2008-10-29 17:53
谢谢板桥里人给我的解释,感觉我们现在正走入你说的拼装积木的误区,越拼越多,不过这也是我决定不了的,无奈啊。
再次说声谢谢,这个问题困扰我好久了,banq就是强啊。

banq
2008-10-29 17:58
>几乎模块中的每个页面上都至少有300行JavaScript代码来控制页面上的相关动作

无论使用什么技术,都是以易于维护拓展为宗旨,看来你们使用JS来进行控制之类事件机制,可能过于复杂了,JS用来实现MVC模式中一些View界面效果就可以了,引入AJAX异步事件机制也是必要的,但是过多事件流程会增加复杂性,很多事件和流程可以交给服务器端表现层框架来说,JSF/tapestry都是事件粒度非常细的框架。

liang
2008-10-29 19:22
恩,主要是页面数据和JS耦合的太紧了,得根据不同的业务模块去写不同的JS来处理页面数据

,这样也造成具体业务和JS有强的联系。
其实,写的JS代码结构都是一样的,模块内,外的JS调用过程也都相似,很多function只是在

不同的业务中功能相同,名称不同而已。正像你所说的组件化程度低,维护起来不方便,也影

响了可扩展性
不过,收获到一点就是感到前端页面交互设计的重要性了。

ITfuture
2008-10-30 08:56
我目前做的这个项目也是用大量的在使用JS。
不管是前台的页面展现.还是流程控制.说句实话.真的是太痛苦了......
整个开发流程都存在了大量的问题。包括需求调研.无设计性.编码繁杂.没有很好的测试。管理的松动.无规范性...
不知道其他公司是什么样子...
BANQ说的对...
>>所以,不建议直接使用JS编程,而是使用基于JS构建的构件和组件,你们在使用方式上出问题了。
千万要慎重选择啊!
使用不好的话。后期的维护对于开发人员来说就是噩梦...我是感觉这个项目已经失败了...包括其他的开发人员都和我有一样的感觉...原因多种多样...在公司里没有学到对于思想上的触动...整天就在JS上面打转转.
似乎已经脱离了正常开发的轨道...
页面交互感觉很好...但是不断的BUG和维护的困难说明这个东西做完了也就标志了它的生命结束了....
真想找个规范性等各个方面都很好的公司...
在公司中我提到过面向对象 领域建模等知识似乎没人理会.一有事就整上数据库了.都快成数据库的保姆了..
发点牢骚.请勿见怪....

liang
2008-10-30 09:40
同感,与你说的情况完全吻合,太痛苦了。
领域建模有些公司还触及不到,但至少JS方面得实现组件化开发啊。
顺便说一句,我现在在的是一家刚成立不久的小公司,技术总监有过专门一年的JS编程经历,

比较倾向JS。大公司肯定不会这么做的,我也想再找家比较规范点的公司。