工作小结-2018三月(1)

这周是在崇杏的最后一周。

主要将之前维护的项目做了一个代码复盘,针对了一些自己认为重要的地方加了注释,同时写了流程图,方便后来人看吧。

图表化软件出现一个问题,关于视觉化的。
之前对于网络接口设计原则,都是一个请求拉下来所有的接口,但是这次由于接口数据过于庞大,如果通过rxjjava使用一个observable转换来拉,一是处理来不及,二是请求极其容易超时,毕竟observable是需要每个都发送的,相当于将所有的请求依次排序了。所以我使用的是多个observable来拉,多个observable又出现了一个问题,有些observable由于接口拉下来的数据量并不大,所以响应很快,而另一些observable则数据量过大,服务器没有缓存要进行计算,响应十分缓慢。导致了一个现象,一个是评论的总数,一个是评论的详情,评论的总数由于数据缓慢,获取到的速度就慢于评论的详情,导致了评论的总数这个数字的ui一下子进行了刷新,而评论详情却在之后才进行刷新,双方不同步。

再加上我本就使用的是轮询而不是推送的方式,导致轮询无法等待,极端情况会出现评论数字刷了2次,而评论详情却还没有刷的状态,十分的糟糕。

但是由于是服务器的原因导致的不同的接口加载的速度不一致,因此我也没有办法做过多的优化,只能做一个刷新时间的设置,让用户可操控多少秒刷新一次,这样可以保证在一次刷新周期内,两处ui可以同步。

不过这终究不是一个好的解决方法。我想了一下,最好的方法是使用推送,服务器将同步的数据推送上来,我直接显示,这是最好的。其次是使用等待策略,当一个ui数据好了,另一个没有好的时候,让好了的等待没有好的,等没有好的好了则一起刷新,但是又个风险,就是没有好的超时了,这次等待就遥遥无期了。

总而言之,在崇杏的最后一周,是在不断的修改之前的需求,核对数据中度过的。仔细想想,太多坑,假如设计原型明确的话,完全没必要趟的,哎,但是设计之间自己都不明确,最后填坑的还的是我。

farewall,崇杏。