今天是闹钟把我叫起来的,因为昨晚又睡的很晚。地铁还是一如既往的人多,今天很不幸在一个略有神经质的mm旁边,地铁人很多,别的乘客一碰到她,她就大呼小叫的。

上午改bug,先改“进入图片浏览器,浏览图片,旋转90度,界面上的图片tile和左右方向的按钮没有居中显示不美观”,不知道地方还真不好弄啊,一开始以为是资源文件(resource_camera.c或者resource_imageview.c之类的)里的,没有找到地方,搜图片也没搜出来个什么结果,那就搜字符串,搜出来也不是地方。只好自己看看代码,终于找到了画图的地方,原来按钮叫osd,我想起来了。找到地方后就调位置了,我改写了显示函数,在270度的时侯做了特殊处理,加了Offset。不得已使用了模拟器,这样调位置才快。今天还改了九宫格按上下方向键的菜单滚动顺序,文件很浩瀚,代码很多,不过我还是找到了那个宏。还改了几个,沟通掉了插USB线显示一幅USB图片的问题(插USB和插充电器是有区别的,2.0V以下是USB,我的记忆被唤醒了)。总之,分给我的bug真是五花八门,不过我是不留bug过夜的。

中午依然是和科长一起去吃的,才知道昨天发年终奖和项目奖了,难怪今天就有人群发邮件作告别。听说项目奖跟加班时间是有很大关系的,表面说能力强加班时间少也会有钱,但我心里想肯定不是的。他又说能力差的,加班时间多,也会发项目奖鼓励的,笨就要靠勤来补嘛。在实际工作中,有些人不管怎么努力,他还是不会修改或者改不了那么快的。每个人都有天赋和弱点,正如我非常努力学习游泳才勉强在第二学期的补考前学会面试一样,正像太极拳怎么练习也不会优美一样。也许这种行业的大公司的效率会很低,人呆久了会变得官僚,人员素质参差不齐,如果没有变革,注定会老化僵化。这群人就知道加班,效率太低了。我觉得非常诧异,几十号人做几个项目,每个人还总是做那几个模块,还要改这么久,那就是能力的问题了。

跟我同一天来的,昨天都签完合同了,半天都没有人通知我。下午发邮件询问了他们是不是忘了我的劳动合同,人事说刚好准备要找我。我上去看了一下,Offer和劳动合同上有点出入,我问她没关系把,她说没关系,我就签了。劳动合同(附有保密协议、使用盗版软件跟公司无关的协议)一式三份,纸面Offer一式两份,我各拿了一份,其中劳动合同是没有提工资的,Offer则薪水和Title都写有。签完也没啥感觉,我只是觉得把我随身带的todo记事本里的一个日程做完了。虽然是卖身三年,但我是社招的,应该也是来去自由的。

下午三四点钟开始对代码进行走查,这是我多年后的第一次走查了。跟想象中的一样,最新提交的代码与部门的编程规范V0.1相差很远,比较普遍是排版问题、命名问题、分支问题、硬编码、宏控制问题等。当然没有一一都点出来,我一心要抓一两个典型,有一个实习生写的很多代码都不规范,我在他的代码里找出若干个编程规范的问题。更为幸运的是,我找到了一个逻辑上的问题,那位同事有个“删除通话记录,但还有些记录没删完”的bug,代码似乎是别的同事写的,以前分别有“全部删除通话记录”(mixCall)、“删除全部拨出记录”(dailingCall)、“删除全部已接电话记录”(receivedCall)、“删除全部未接电话记录”(missedCall)四个函数,分别是在四种ScreenID下调用的,他在此基础上修改,他加了个flag,把mixcall的部分放到dailing、receivedCall、missedCall放到flag里去了,这在语义上明显函数名跟函数体不一致嘛!我认为这个bug肯定就是删除mixCall的时侯出问题了,花了几分钟看代码,感觉mixCall删除的函数有问题。

他的代码是
if(daillngCall的记录>0)就删除daillngCall
elif(receivedCall的记录>0)就删除receivedCall
elif(missedCall的记录>0)就删除missedCall

实际上,这个平台是做单卡的,似乎。这个人写的代码是抄袭MTK双卡里的代码。人家也有类似的函数,不过除了上述几条判断语句之外,人家最后还有一个判断是否还有callog,如果有的话,就删除全部。

我的修改建议是mixcall删除函数把elif都改成if好了:
if(daillngCall的记录>0)就删除daillngCall
if(receivedCall的记录>0)就删除receivedCall
if(missedCall的记录>0)就删除missedCall

写完走查报告,已经是晚上9点了,发了报告,发了周报,然后就回家了。我也告诉那位科长我周末不来加班了,嗯,以后周末也基本不会去的,我会在周一到周五完成自己的工作。

坐地铁回来时又想起了房价,又联想到自己微薄的工资,我发短信给Bob说,不能一辈子打工,还是要有自己的事业,要有自己的盈利模式的。