“我去!怎么回事儿?明明改过的,怎么连Log都没有呢?” 周权一边大喊一边跑步往来于调试机和自己的开发机之间。

大家笑着说:“加油!跑跑更健康!”

第三遍后,终于找到了root cause,原来是自己把程序传错了,他一直测没有被修改的程序呢,当然看不到新加的log。

大家哈哈大笑,感觉又年轻了几岁。

人不比机器,有七情六欲会影响着你的行为,没有机器那种按部就班执行指令的简单。从这一点上看,人类是复杂的。

越是复杂的事物,越是容易出错。人类的行为也不例外,尤其当我们的状态下降时,更是如此。在某些行业比如医生要保证在手术中不出错,不出偏差,真的很难。他们的那种压力我们IT痴汉也深有体会。那些关乎生命的程序,真的容不得半点差错。还好,现在我们的工作并么有那么严苛。有时出了低级错误,就好像是出了一个笑话一样,讲给大家听听,给大家减减压。

致命的低级错误

这是我心中永远的痛啊。大家在项目开始时就进入了赶进度的状态,代码review不多,通常都是自己忙自己的。

后期,我们的程序会不定期的Crash,C++程序对Crash还是比较难抓的。就这样我们不断的调试,也改了我们认为是野指针的问题。Crash出现的不多了,大家也有时间互相review下代码了。就在给我review的时候,江涛发现了数组越界的问题。就那我之前写的wlan代码为例子吧。大家也看看。

for (int i = 0; i <= (int) pIfList->dwNumberOfItems; i++) {pIfInfo = (WLAN_INTERFACE_INFO *) &pIfList->InterfaceInfo[i];wprintf(L"  Interface Index[%u]:\t %lu\n", i, i);iRet = StringFromGUID2(pIfInfo->InterfaceGuid, (LPOLESTR) &GuidString, sizeof(GuidString)/sizeof(*GuidString)); ...if(my judge) break;
}

就用它举例吧,我觉得这很典型。在循环体中,我有一个判断,如何符合条件,就跳出循环。就是这么简单的一个遍历网卡的例子。大家看出来问题没?

对,就是多循环一次。

很明显,int i=0;i<=dwNumberOfItems; 不是我的本意。我真的 是顺手就把“=”号打出来的。而问题为啥不容易发现,是因为我的条件(my judge)通常会在头几次循环中符合,程序就会跳出循环。但某一情况,循环全部进行完就会出现数组越界的问题。

我说这是笔误,你们信吗?

自己忽悠自己

这个例子类似与周权的问题。我在写代码时,喜欢加注释。不得不说,这是一个好习惯。当数月之后,再回头来看比较有特殊背景的代码,会比较容易与当时的自己沟通。

当时的代码类似于下面的:

//try 10 times do my job. magic number you know.
for (int i = 0; i < 10; i++) {
...
}

而有些时候,10次貌似次数还不够,需要变成15次更好。但大部分时候,10次已经足够。下面我就进行下修改, 然后跑到测试机上测它个10次。

//try 15 times do my job. magic number you know.
for (int i = 0; i < 10; i++) {
...
}

结果很令我满意,但提交代码时我一看,天啊,我只是修改了注释。

瞬间感觉自己跟自己玩的挺开心啊。

跟For循环较上劲了

这一次是齐天的故事,还是for循环,循环次数貌似要经历一次神奇的运算。

int count = %&&**((%$#$%^&*(*&^^&*;
for (int i = 0; i < 3; i++) {
...
}

这段代码我认为没有问题。循环3次,对于我不清楚逻辑的情况下,不觉得有问题。但是,周权知道逻辑,对齐天说,你把循环次数计算完就不管了?然后就只循环三次?

原来是酱紫啊!

int count = %&&**((%$#$%^&*(*&^^&*;
for (int i = 0; i < count; i++) {
...
}

写程序是个细致活,马虎不得。但往往我们也会出现这种啼笑皆非的低级错误,是我们的责任不假,但跟当时的疯狂赶进度和疯狂加班都有关系。

并不是加班就会出成果,一个好的心情,好的工作、团队氛围更容易出成绩。

IT痴汉的工作现状15-低级错误相关推荐

  1. IT痴汉的工作现状11-程序员的烦恼

    痴汉们其实是很容易满足的.只要给他们一个任务,他们就会废寝忘食的去完成.查资料,了解背景信息,学习新开发语言,做设计,写代码,调试,够忙的了.一忙起来,就会感到日子过的很充实,有成就感.这是一种简单的 ...

  2. IT痴汉的工作现状14-段子

    在结束一段痛并快乐着的项目后,决定写两个段子来释放一下自己. 段子一.轮回 年轻人都外出讨生活去了,村子里只剩下老人和孩子. 多年之后. 外出讨生活的回来养老,当年的孩子们留下自己的孩子出去讨生活了. ...

  3. IT痴汉的工作现状30-刀客许三爷(下)

    在面试了几个小伙子后,许三爷愤愤的跟我说,"没什么工作经验呢,就会了5种语言了.我只敢说自己就会一种语言,那就是python,因为我研究过它的编译器." "照你这标准,我 ...

  4. IT痴汉的工作现状6-寂寞的夜

    本来想把此文的副标题定为"寂寞的夜和反射在脸上显示器的光",但觉得有点长. 踏入这一行这么多年,说心里话,每一晚都是和电脑分不开的.这是痴汉的宿命! 对于这个知识密集型的行业,学习 ...

  5. IT痴汉的工作现状20-职业规划

    小伟兄的经历 在第16篇文章中小伟兄弟我给大家介绍了常见的技术类职业发展通道,这其实就是一种职业规划.由于我连自己都还没管好自己,所以我就不想着转管理岗位了,不适合我.我是一个不爱受人管也不爱管别人的 ...

  6. IT痴汉的工作现状8-三思而后行

    我们常用金三银四来形容最佳的跳槽时机,而通常大的动作都发生在春节之前.所以要想换个好一点的工作,需要提前做好准备,此所谓三思而后行. 跳槽有风险,频繁跳槽更要经过深思熟虑.有些大公司对频频跳槽的求职者 ...

  7. IT痴汉的工作现状21-Android开发前景论

    饭间闲谈 齐天.周权和我是饭搭子,总是边吃边聊一些与技术.汽车和女人相关的话题. "前阵子Nokia裁员之事不知道完没完?这艾洛普挺能作啊."我吃着香喷喷的过桥米线说," ...

  8. IT痴汉的工作现状19-公司组织结构

    每个公司都有一套适合自己的组织结构,它是公司正常运作的基石,公司中的每个人都在这个组织结构里有自己的位置,大家同心协力,维护公司这台机器的正常运转. 公司的主要目标是利润,那么我们每个人的首要任务是创 ...

  9. IT痴汉的工作现状4-沟通与分享

    软件开发是一项团队协作的工作.随着项目人数的增加,沟通的成本也会几何基数般增加.如果每个人都具有良好的团队精神,善于沟通与分享,那么这次开发工作会是一种享受,尤其是新人,在这次经历中会收获良多.反之, ...

最新文章

  1. 吃货告诉你IaaS、PaaS、SaaS之间的区别
  2. web大屏展示用到的组件_基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化
  3. 基于MSM 的tomcat session 共享
  4. Google Maps Android API V2使用及问题解决
  5. lists and Variables supported as JIT inputs/outputs. Dictionaries and strings are also accepted but
  6. php中 param,php中bind_param()函数用法分析
  7. Demo能为游戏带来什么?
  8. ptp精准时间协议_PTP协议时间同步精度测试
  9. python决策树分类鸢尾花_基于决策树—鸢尾花分类
  10. 使用share prefernces实现轻量级数据存储
  11. IDEA代码格式化后缩进符不正确
  12. 实战之多有米项目测试环境搭建
  13. 老版本MACBOOK更换固态硬盘教程
  14. SeleniumWebdriver参数化详解
  15. 在Win2003下安装WMP10有奇招
  16. 万年历黄历星座查询v3.6.7
  17. 如何设置python类的私有属性
  18. dsp28335电机控制板资料 永磁同步电机有传感器三闭环foc控制
  19. 狂热与幻想:草根财团、山寨交易所、传销社群和币圈自媒体
  20. RecyclerView clipToPadding

热门文章

  1. [数字媒体] Photoshop基础之图像校正、抠图(证件照)和融合
  2. 162.网络安全渗透测试—[Cobalt Strike系列]—[Veil免杀]
  3. java 验证码旋转,java实现动态验证码
  4. 全球邮外贸企业邮箱怎么选?
  5. dbms是处于计算机硬件,数据库原理与实践(欧利松)-中国大学mooc-题库零氪
  6. C语言文件的读写操作
  7. 浙大PAT 乙级(题号1031~1035)自解全AC Java | C++实现
  8. Unity安装vs2019失败解决方案
  9. python综合管理系统代码_《python学生信息管理系统》[52KB]PDF代码版下载-码农之家...
  10. 脚本之家的好网址: 首页 软件编程 C 语言