日期:2014-05-16  浏览次数:20395 次

[请教]Javascript代码管理
随着Ajax, RIA这两年迅速发展, Javascript应用逐渐被提到正轨. 我之前也不是专门做Javascript的, 但是, 现在的工作是以Javascript为主, 附带PHP开发..

开发背景: 网页游戏.
Javascript插件: jQuery, jQueryUI

因为是网页游戏, 所以涉及到了大量的前台操作.....
目前, 游戏中大量的使用了拖放, Tabs两种效果, 都是用jQueryUI的插件完成的.

现在, Javascript代码已经很庞大了, 总体表现出来的缺点是: 
1. js文件数量庞大: 我把每个子页(tabs对应的加载片段)又分为两个文件, 一个用来绑定事件, 预处理等, 另一个文件用来定义函数...除此之外, 一个整体的页面往往会有一个全局的函数定义文件...所以现在的js文件数量很大..
2. js函数可复用性低: 这是最关键的一个, 复用性太差了...带来复用性差的主要原因是由于各页面处理的业务对后台而言, 或许是同样的业务逻辑, 但是, 到了前台, 由于html制作上的偏差, 导致不能重用.....

1. js文件数量庞大的问题, 目前没有较好的方案解决, 请有经验的前辈指条明路(由于复用性差, 所以名字匮乏, 全部放入一个文件一方面怕加载效率, 更重要的是怕名字重复).
2. 函数复用性低的问题, 我现在是通过把要操作的区域的大致结构用样式(专门用于js控制的样式)来定义, 然后, 通过这些控制样式去绑定事件....这样做的确对复用性有所帮助, 但整体效果还是不行....还有一个方面是由于控制样式不能完全独立为与显示无关, 因为诸如hover, selected等特性与业务有交集.....

期盼有这方面经验的前辈指条明路, 让俺们项目的js能活起来....

这里先谢谢各位了...



------解决方案--------------------
帮顶。。。
------解决方案--------------------
这个帮顶吧,我的代码页不知道有多少了,不过正规的也不过一两万行
------解决方案--------------------
你可以用YUI compressor 压缩你的代码。
它是开源的,你可以基于它构建一个JS代码管理系统。
我正打算做这件事。
此外就是要模拟一个命名空间,配合管理系统,分类管理你的代码。
多看看yui 源代码,会给你很多启示。
------解决方案--------------------
楼主好专业
------解决方案--------------------
浏览器缓存导致。

探讨这几天js版怎么老维护?

------解决方案--------------------
个人感觉你这个应该做制作的设计层面上优化吧
------解决方案--------------------
2. js函数可复用性低: 这是最关键的一个, 复用性太差了...带来复用性差的主要原因是由于各页面处理的业务对后台而言, 或许是同样的业务逻辑, 但是, 到了前台, 由于html制作上的偏差, 导致不能重用.....
-----------
这应该是导致楼主目前状况的罪魁祸首。
类似的问题,也存在于很多在整体开发流程上不够正规的公司中。
这样的情况,协作几乎不能称为协作,每一个环节都如同在给下一个环节制造麻烦。
这一点,不应由下面每个人员负责,更不应由这个环节的末端(后台程序和功能JS编写者)来负责。
这是开发总监的问题,如果公司并未安排这个职位,那就是公司的问题。
表面这么说并不能解决实际的问题,但这恰恰是问题的根本肇因,一辆汽车,没有合理的架构,只指望一个发动机拼命工作和消耗,根本不能带来整体上的效果,最终只能是这个发动机挂掉。

重视这个问题,对于公司里所有岗位的人来说,都是有利的,这可以带给你科学有效的工作模式,井井有条的工作程序,轻松惬意的工作气氛,融洽友好的工作关系。
------解决方案--------------------
帮顶,
也要给分啊

------解决方案--------------------
帮顶,
也要给分啊