好的数据结构=程序代码

      最近在做关于公司流程的Bugzilla定制项目,基本的需求就是使用JavaScript来check流程(PR/CR/Review/TimeTracking)的状态迁移时的必填项不能为空。接下来我就写写项目做到现在自己的一些感触。

      由于以前没有使用过JavaScript,也比较欠缺Web编程方面的经验,只是满久之前看过一本这方面的书(至于书有没有读完也记不清了),所以一开始调试JS代码的时候,使用了比较低效的方式,就是直接用alert来定位JS代码中的问题。这样做的效率真的很低,如果碰到些莫名其妙的问题,这样的方法还不一定能找到问题真正的所在。后来自己在网上查找到了Firebug ,加上Firefox,用来Debug JS,简直就是绝配,开发效率也提高了不少。

      还有就是JS的代码量的问题。等基本功能做完,发现代码已经快到1400行了,吓一跳。立马就想起重构。看了一下代码,发现可以改进的地方还真的是不少,把代码重构了一下,将所有不同状态下的mandatory域和check函数都存到一张表中,这样在需要的时候就可以通过检索这张表来获取,而不用像以前那样使用函数生成。经过这一轮后,JS代码量一下缩短到1000行左右。第二轮重构,我将所有域的check函数划分为几类通用模板,将函数所需的参数也存到前面的那张表里,这样折腾之后,代码只有600多行了。

      好的数据结构真的可以节省大量的代码啊。经过重构后,我发现程序的扩展性也增强不少,虽然这里我也只用了简单的表格驱动的方法,《Code Complete》 上还是有很多的东西可以学习的。

      真是生命不息,重构不止啊!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值