工作总结

今天被组长一段教育批评,自己实在是惭愧。。。

要记录的东西,有两点 一点是实现一个小机能所写的算法,另一点是bug总结

1.算法实现的功能背景

一段时间内(10秒),出现不同的警告,会捕捉并进行处理,同样的警告在一定时间(10秒)内次数达到临界值(5次)后,再次出现相同警告不做处理。

我写的算法如下:

                            判断警告ID是否存在?

                                 存在                                                                              不存在:map中添加ID

                    比 Time(现在的时间点-10秒)早的警告记录从记录的list中删除

                             检查list中出现同一警告 出现的回数。

                             若达到5次,则不再记录本次的警告记录,此时,说明已经达到临界值

                             若没达到5次,则记录此次警告,放在list中

思路大致如此。

2.代码实现的时候写出个bug

 for(int i=0;i++<list.size();){

  if (XXXX) {

    list.remove(i);    // 这里想要实现的功能是,将比Time早的警告记录删除,但是由于list删除第一个元素后,第二个元素的位置会变为第一个,所以bug就出现了

                            // 解决方案是 将for(int i=0;i++<list.size();) 变为 for(int i=list.size()-1; i-->=0;)

}

}

记录一下工作中的小问题,以后避免!

原文地址:https://www.cnblogs.com/lihao007/p/6843405.html