zxqdx吧 关注:72贴子:1,221
  • 4回复贴,共1

[Issue]主要功能缺陷(外二则)

只看楼主收藏回复

Ver=0.8.600
OS=win7x64
症状:点击下载并查看,界面无响应(进度停留在40%或无显示),一CPU核心占用满。
仅在下载时触发。
只能下载完关进程然后第二次打开看了……
PS.若下载不完全则未知BUG【气死偶咧】。应该只是not implemented?
PS2.更新服务器被我这的ISP墙了,是否可以加入代理设置……



IP属地:北京1楼2012-05-20 07:43回复
    顺便提几个设计上的建议吧……
    多窗体很多时候用起来很累……dbg info不考虑做成标签页/窗格之类?
    要是只处理一个exception……那么最好能显示类型相关信息。
    一堆flag增大维护难度,可以考虑整合进exception。
    一些复杂的逻辑(i.e.获取数据)可以从界面中分离得彻底一些。


    IP属地:北京2楼2012-05-20 08:37
    回复
      首先,真心谢谢LZ的建议。。(渣技术渣美工求吐槽~)
      其次,我这是第一次编写这种应用类型的软件,而不是那些纯理论的问题求解。所以这个程序从开始设计到设计出来,我不知查了多少资料,在MSDN社区、CSDN里面看了多少帖子。。
      你可以理解为,一个只会拿C/Pascal做做竞赛题的退役高中生,突然开始设计一个实际应用类型的软件,从UI友好度到功能,而且这其中还牵扯到完全没碰过的json/html,以及听都没听过的“API”这一术语,,这种跨度……
      当然啦,俺不是在抱怨什么。。。Nothing is impossible,我以为我能编写出这个程序,已经证明我可以创造至少我认为的奇迹,那么我就能挑战一些mission impossible~
      ============
      下面开始一一回答LZ的反馈:
      A. 点击下载并查看,界面无响应(进度停留在40%或无显示),一CPU核心占用满。
      答:这个我正在想办法解决。这么说:停留在40%死掉是因为这时候软件正在联网下载评论内容。下载完毕后程序才能活过来,因此假死的时间与你的网速有很大关系。
      不过,用户的确不喜欢程序假死无响应,更喜欢有进度条提示处理的百分比。我不知道假死是不是做软件的大忌,如果是的话,那我可以增加一个进度条显示,这样应该好一些。。
      至于进程在这里真的挂了。。。那。。。这个是什么情况。。。建议LZ耐心等待一下,理论上说是不会死掉的。。这部分程序运行流程如下:
      下载文章/视频信息==>下载头像==>下载评论==>如果下载评论之前10min有更新,则取消下载==>下载mht网页==>如果无法下载mht,则下载html文件==>处理评论==>……
      你可以看出来,是线性流程……限于我的知识,程序死掉的情况应该是陷入死循环或者是下载数据时服务器暂时性抽风。。因此理论上不会真死的。
      B. PS.若下载不完全则未知BUG【气死偶咧】。应该只是not implemented?
      答:这是什么= =||这是C么,但是我用的是vb.net哎。。美国一蜀黍强烈建议俺不要用C,所以一番纠结后我就用vb.net了……
      所以vb.net里面我用的是Try ... Catch e as Exception ... End Try这种结构。
      C.PS2.更新服务器被我这的ISP墙了,是否可以加入代理设置……
      答:更新服务器与打开程序时测试版使用验证的服务器是同一个。
      至于代理我来查查功能怎么实现……(捂脸
      D.dbg info不考虑做成标签页/窗格之类?
      答:我再来查查这个怎么实现……
      E. 一堆flag增大维护难度,可以考虑整合进exception
      答:这个的确是的,还有你是怎么知道我有一堆flag的……?
      F. 一些复杂的逻辑(i.e.获取数据)可以从界面中分离得彻底一些。
      答:这个说实话没看懂~是什么意思?另开一个线程来获取数据?~
      =============
      先写这么多~ps.已发百度站内信,请查收!~


      3楼2012-05-20 19:22
      回复
        对面向一般用户的应用来说流畅的体验应该重点考虑,所以尽量不要有假死……
        卡死我也发现和我的渣网络有关系。试了5次,其中有次等了几十秒后恢复了。
        和语言没关系,我猜你没实现对错误类型进行分类。(虽然强烈建议用C#,M$也是这个意思……)
        更新页面打开后直接无法显示(浏览器也一样,开了goagent才上去)……
        flag是直接顺手拖进.NET Reflector里看到的(本来是想看看excepion触发条件)……(捂脸
        个人感觉代码堆得太紧了,可以考虑稍微封装一下看起来应该会更清楚点(继续捂脸
        


        IP属地:北京4楼2012-05-20 20:04
        回复
          错误类型我还真的没分类……这个我回头做一下。
          不过这几个错误我已经在程序运行中就解决了:
          A. .net 3.5环境下mht无法下载的问题;
          B. 有评论被猴子删掉导致服务端数据出现矛盾的bug;
          C. 下载评论数据时有新评论进入导致服务器数据出现矛盾的bug;
          这几个bug解决后,只要用户按照规则填写AcID,不乱篡改已经下载的本地数据,一般就不会触发未知bug提示~
          我这个程序很适合封装,之后我来试试~(第一次尝试封装,好紧张。。。)


          5楼2012-05-20 20:18
          回复