`

项目中曾经犯过的错

 
阅读更多

1:改变的入参的值。错误的代码:

public static List<Object> randomRank(List<Object> rankComments, int num)
    {
        if (null == rankComments|| 0 == rankComments.size())
        {
            return null;
        }
       
  
        // 如果轮转个数大于数组长度,则设置为数组长度
        if (num >= rankComments.size())
        {
            num = rankComments.size();
        }

       List<Object> reList = new ArrayList<Object>(comments.size());
       int index;
        java.util.Random r = new java.util.Random();
        for (int i = 0; i < num; i++)
        {
            index = r.nextInt(rankComments.size());
            RankComment s = rankComments.remove(index);
            reList.add(s);
        }
        // 把其他元素保存到新数组中
        reList.addAll(rankComments);
        return reList;
    }

  函数的功能:
    实现对指定的列表进行随机轮训,即每次从指定的列表中选出指定数量排行条目的评论信息进行轮训
但是该函数却改变了入参的值(而该入参的值是放置在缓存中),导致每次轮训都会减少指定轮训数量的评论条目
该函数本身的功能非常简单,但是结合了二级缓存(每级缓存都有不同的刷新时间)后,增加了复杂性
会出现在每级缓存的刷新时间交替时正常,其他情况下异常的问题。

该问题定位了一个礼拜,结果请一个资深的程序员看出了这个问题,并被通报批评了,从中得到的教训,尽量不要随意的去改变入参的值。

 

 

分享到:
评论

相关推荐

    大佬在线复盘:我在训练 DALL·E 时犯过的错.rar

    通过阅读“大佬在线复盘:我在训练 DALL·E 时犯过的错.pdf”,我们可以更深入地理解这些挑战和解决方案,从而在自己的 AI 项目中避免重复同样的错误,提高模型的训练效率和性能。这不仅是对已有知识的巩固,也是对...

    项目管理常犯的14个错误

    ### IT项目管理中常见的14个错误:深度解析与应对策略 #### 一、乐观主义导致的时间估计失误 IT行业以其快速迭代和技术革新而著称,吸引了大量充满激情与创新精神的年轻人投身其中。然而,这种乐观主义色彩在项目...

    架构师在系统设计上犯过的错.docx

    本文将从六个主要方面来探讨架构师在系统设计过程中容易犯下的错误,并提供相应的改进建议,希望能为读者在软件架构设计上提供帮助。 首先,**全面性设计**是架构师需要关注的重点。在设计初期,架构师需要对系统的...

    几个项目管理的案例,适用于初学者的入门资料

    案例分析提供了一个模拟实践的平台,帮助你从他人的经验中学习,避免在实际工作中犯同样的错误,从而加速成长为一名合格的项目管理者。因此,对于希望在项目管理领域深入学习的人来说,这样的案例研究是不容错过的...

    MES项目实施过程精解

    在MES项目的实施过程中,业务调研是整个项目成功的基础。有效的业务调研可以帮助项目团队深入了解客户的实际需求、现有流程以及潜在的问题点,从而为后续的设计和实施提供坚实的基础。调研工作通常由项目经理牵头,...

    企业培训常犯的七大错误.doc

    企业培训是提升员工技能、推动组织发展的重要手段,然而实践中,许多企业在培训过程中常常犯一些错误,导致培训效果不佳。以下是对"企业培训常犯的七大错误"的详细解析: 一、科技应用不当 企业在引入科技进行培训...

    项目实施九阴真经

    《项目实施九阴真经》是一本专注于项目管理和实施实践的指南,旨在帮助读者规避实施过程中常见的误区,提升项目的成功率。书中的内容详尽而深入,涵盖了从项目启动到执行的多个关键环节。 前言部分强调了项目实施的...

    IT人士常犯的17个错误

    ### IT人士常犯的17个错误 #### 1. 学校教育与实际工作脱节 很多IT人士在离开校园后,发现自己所学的知识与实际工作中的需求存在较大差距。这种现象的原因在于学校的课程设置往往较为理论化,而实际工作中则更注重...

    数据挖掘十大易犯错误

    的总结,关于数据挖掘中十大易犯错误的深入探讨。 ### 0. 缺乏数据(Lack Data) 数据是数据挖掘的基础,没有足够或高质量的数据,任何分析都将成为无源之水。特别是在分类问题或预测问题中,如欺诈侦测和信用评分...

    超越对手--软件项目经理的18种实用技能

    ### 超越对手——软件项目...以上是对《超越对手——软件项目经理的18种实用技能》中部分章节的详细解析,通过这些内容的学习,项目经理们可以更好地掌握软件项目的管理和实施技巧,从而在激烈的市场竞争中脱颖而出。

    浅析互联网企业资金管理中存在的问题及应对举措.pdf

    最后,盲目投资项目是互联网企业在资金管理中常犯的错误。互联网企业市场信息变化迅速,企业管理者很容易受到市场动态的影响,对利润的追求导致他们往往没有对投资项目进行充分的评估和考量就开始盲目投资。这不仅会...

    人生的秘诀.doc

    中年以后,当我们回顾过去,可能会对那些未能把握住的机遇或曾经犯下的错误感到后悔。然而,“不要悔”提醒我们,过去的已经无法改变,重要的是从中吸取教训,调整心态,继续前行。在IT行业,我们应该学会从失败中...

    个人信息管理系统答辩ppt.ppt

    2. 细心和耐心:在编写代码时要有细心和耐心,尽量避免自己犯写错单词等不必要的错误。 3. 多尝试新的想法:编写更新颖的程序,发挥想象。 4. 团队合作:遇到问题可以跟同学进行讨论,多方面的看待问题,加深对问题...

    初中语文文摘生活忘记你的试用期

    6. **错误与反思**:主角因记错日期而错失良机,但在IT工作中,错误是学习的一部分。重要的是能够从错误中吸取教训,进行自我反思,以避免再次犯同样的错误。 7. **重新开始的勇气**:最后,主角决定以新的姿态面对...

    信息化教学在3DSMAX效果图制作课程中的应用.docx

    2. 错误纠正:学生在学习过程中难免会犯错误,信息化教学可以提供即时反馈和修正。例如,教师可以创建互动式的在线测试,或者设立讨论区,让学生提交作品并接受同伴和老师的点评,这样可以及时发现并改正错误,避免...

    哲理故事演讲稿集合9篇.docx

    在技术产品开发中,良好的用户体验是关键,即使用户可能偶尔犯错误,设计师也应该预见并减少这些错误的发生。比如,软件界面应该直观易用,错误提示应该清晰明了,就像那张折叠椅上的标签,提醒人们如何正确使用。 ...

    聊聊Vue 中 title 的动态修改问题

    由于之前的 Vue 项目打包成果物一直是嵌入集成平台中,所以一直没有关注过项目的 title。直到最近,突然有个需求,要求点击按钮在集成平台外新开一个页面,此时我才发现,原来我的项目的 title 一直是万年不变的 vue...

    旷课不归检讨书.docx

    在文章中,作者首先表达了对旷课行为的深深愧疚和后悔,认识到旷课是一种恶劣的行为,并表示坚决不再犯此类错误。接着,作者回顾了初入班级时教师对纪律的强调,表明自己对规则的重视,但同时也揭示了自己在执行上...

    pmp 5A考试心得分享

    - **注重错题分析:** 对于做错的题目,要仔细分析原因,并回顾相关知识点,确保下次不再犯同样的错误。 - **模拟考试环境:** 尽量在模拟真实考试环境下进行练习,以适应考试节奏和压力。 通常来说,完成大约1500...

    我们都是有故事的人.doc

    5. **反思与反省**:“那些已经犯过的错误,是因为我们没有及时从中汲取教训”强调了自我反省的重要性。在IT项目管理中,反思过去的失败经验可以帮助我们避免重蹈覆辙,优化流程,提高项目成功率。 6. **时间治愈...

Global site tag (gtag.js) - Google Analytics