进入IT行业时调试过的最难的bug

在我刚从事编程行业的时候,当时正要实现一个通过udp-ip协议传输图片的功能。由于udp是不安全通讯协议,所以常常丢数据包,从而使接收到的图片数据不完整,然后通过验证让终端重新发送丢失的数据包。开始我使用list集合来接收数据包,此缺点为数据可重复,每次接收数据还要做重复验证,非常麻烦,且使程序在做丢包验证时经常判断出错。这事让我头疼了好几天。后来我突然想到用map集合来代替list接收数据,问题得到完美解决。map虽然长度不可控且是无序集合,但数据是不重复的,且可以通过key-value的方式存取数据。于是我用key作为包序号、value作为包数据,当图片发生丢包现象时,我只要判断map中key对应的value是否为空就可以了。

时间: 2024-10-06 05:48:13

进入IT行业时调试过的最难的bug的相关文章

电力行业ERP管理软件系统

ERP(Enterprise Resource Planning)即是企业资源计划系统,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台.企业的信息系统是记录大量原始数据.支持查询.汇总等方面的工作的初始企业应用系统.对于目前的电力行业的系统,MIS系统正如电力企业生产系统,描述电力企业调度.用电.维护等日常工作的具体情况,这些数据的采集将在下面描述实施电力行业ERP管理软件时作为ERP的基础数据,以这些数据为基础,建立MIS系统与财务系统.资产管理系统

嵌入式行业入门指导---知乎转载【转】

此文是本人在知乎上看的,觉得很好就分享出来了,并不是本人原创 转自:https://www.zhihu.com/question/47881392 作者:shang链接:https://www.zhihu.com/question/47881392/answer/146734937来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 嵌入式Linux+Android学习路线图作者:韦东山 本文目录1. 程序员的三大方向 1.1 专业领域 1.1.1 学术研究 1.1.2

修炼一名程序员的职业水准(林庆忠__署名原创)

http://blog.csdn.net/baselive/article/details/306412 摘: 作者:林庆忠,1990年毕业于昆明工学院计算机软件专业,后又于1999年毕业在南京大学 完成软件工程专业硕士的学习,现供职于CNPC旗下的一个行业软件研发中心,因为在网上看了许多有经验的各路软件开发人员写的好帖,一时手痒兴起,也凑一篇壮壮声势. 假设你是一名软件专业毕业的本科学子,如何在工作中修炼成为一名有较高职业水准的程序员呢,本文试图总结作者从事15年软件开发工作的感想,希望对有志

程序员,千万不要重写代码

如果你跳槽.或刚接手一个新项目,面对看上去异常混乱的旧代码,请冷静下来,忍住推倒重写的冲动. 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来.是的,他们决不会满足于简单的增量劳动. 或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补,他们认为旧代码简直一团糟. 但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难. 为什么你觉得旧代码异常混乱?因为读

重写代码,是否还要继续?

程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来.是的,他们决不会满足于简单的增量劳动. 原文地址: http://www.hpboys.com/684.html 或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补.他们认为旧代码简直一团糟. 但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难. 为什么你觉得旧代码异常混乱?因为读代码更难. 这大概就

程序员 为什么千万不要重写代码

? 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来.是的,他们决不会满足于简单的增量劳动. 或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补,他们认为旧代码简直一团糟. 但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难. 为什么你觉得旧代码异常混乱?因为读代码更难 这大概就是代码Reuse难以实现的原因,也可以解释为什么你组里的每个人都喜欢用不

程序员,为什么千万不要重写代码?

作为 100offer 程序员拍卖的运营,我们常常和用户交流讨论,有一个话题经久不衰:程序员入职新公司后接手已有的代码,怎么处理? 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来.是的,他们决不会满足于简单的增量劳动. 或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补,他们认为旧代码简直一团糟. 但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难

为什么都在说:程序员千万不要重写代码?

你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根. 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来.是的,他们决不会满足于简单的增量劳动. 或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补,他们认为旧代码简直一团糟. 但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难. 一 为什么你觉得旧代码异常混乱?因为读代

蒋步星:报表&数据分析平台里的坑

报表平台(或BI.数据分析平台)是指提供报表.统计图及其它BI组件(仪表盘.数据看板.分析报告等)的组织管理.权限控制.调度生成.发布订阅等功能的软件系统,让业务用户能随时随地地访问全企业的报表和数据.这是近五六年来报表和BI领域的一个热门需求,在基本业务系统建设较完善后,许多用户都希望把各系统中的报表和数据分析功能打通后统一管理. 在业界混久了,经常还能听到客户在实际用过某个报表工具后表扬该产品的话(当然骂声可能更多),但是用过之后还表扬某个报表或数据分析平台的话却几乎从没听说过!对于这类平台