经验总结

XXX项目心得总结

一、星链报告生成

在星链报告生成中,有一个特殊情况,即在报告的第六部分一致性比对中,用户要求可以自定义显示某几个测试阶段的数据,这样就导致我们没办法像以前那样做一个固定的模板。因为根据用户的需要他可以任意组合各阶段形成一个表格。怎么办呢?最后我改变思路,你增加我剪掉。因为阶段的总数是确定,这样我就可以确定一个大表格,进而解决问题。

二、报告的批量录入

bug:上传文件时,上传了一个错误文件,应该能上传准确的文件替换错误的文件而不是要清除这个错误文件再上传正确的文件。

      造成这种问题是因为我们当时在录入的Action函数中,把录入文件的功能和计算文件的内容并保存的功能放在了一起,且用户要录入的文件个数是固定的,所以一旦出错,我们没办法让用户在继续录入正确的,而不考虑那个错的。如果不修改之前的代码,进行修改可能比较复杂,因为前台限制上传文件个数是固定的,不首先剔除它是没办法继续进行的。怎么解决呢?我们把上述录入和计算保存的功能拆分成两个action,这样在上传文件不够时,我就不进行计算,且不需要加限制,只有你上传足够的正确文件我们才进入下一个计算的action,不管你上传多个错误文件,反正我不进入下一阶段。

三、转发器北京数据的录入

问题描述:之前转发器中的数据是每一个excel文件对应一个数据项目,这样使用uploadify这个控件每一次触发action都能够,处理完成一个项目。而现在北京数据遇到的问题是一个项目可能对应两到三个文件,因此上传每一个文件就出发action事件是不能完成项目的所有数据处理的,而且我们不能上传一个文件就处理一部分,这是由于之前西安数据的业务造成的。面对这个问题,我采用上传完所有的文件再进行逐个项目处理。

下面我们要解决的问题是,甄别用户上传的文件是所需要的,甄别每一个项目的文件都是完整的(她可能有两个或者三个),当部分项目是完整时可以先处理这部分,允许用户再次补齐不完整的文件,继续上传,而不用重新上传所有的文件。

不好的解决办法:因为之前其他业务的经验,当遇见不合理的文件就会删除,这样在我真正处理文件的时候,保证所有的文件都是正确的,这样做就会存在一下问题

  • 你什么时候文件上传结束了,所以需要用一个invalidFilecount来记录无效文件。
  • 每一个文件都会对应若干额外信息,我们记录额外信息的方式是通过两个list一一对应来实现的,而uploadify是对每一个文件都出发一个action事件,而这些操作都是他自己完成的,因此当我们真正处理文件时,是在最后一个文件的action触发时进行的,前面提到过很多无效文件其实已经被删除,这种对应关系就会被破坏,只能重新对应他们
  • 如何不足文件补全后的继续处理,文件和额外信息的一一对应关系已经被破坏,要想再次补全继续上传会特别麻烦
我最终的解决办法:对于无效文件、缺省文件不进行删除。而是通过标记用一个null代替它们,这样就可以保证对应关系不被破坏。这样做就节省了许多代码,而且操作简单,再次上传仍然能够满足一一对应的关系,而且文件处理后我也把它标记为null,防止重复处理。

四、如何确定项目的文件都上传足够了:每一个项目必须含有一个excel和一个word1,word2是非必须的。如何提醒用户目前项目文件的组合关系。

这里我采用了位运算,000,代表三个文件都没上传,001代表只含有Word2,110代表含有excel和word1。下面是一个具体应用

if ((fileGroupType & 1) == 0) {
fileGroupForItemMap.put(itemName,
fileGroupType | 1);

}

五、在面对一个问题的解决时,我们应该考虑的足够长远,而不是仅仅局限于满足现在的需求,否则需求稍微扩展程序就XXX了。以下例子:

当时我们有个需求:对word的中的图片进行提取,因为当时只提取一张图片,我们也就这么做了,保证每一次都能提取成功,感觉还良好。但是后来用户需求改了,我们要提取多张,然后我们就得改代码,改好后,用户又说:我提取的图片是多张的,但是我并不知道有几张,又得改代码。。。

面对这种问题 ,如果我们一开始就能考虑到他的扩张性兼容性,早早就能解决,而且也能给用户一个非常好的体验


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值