一零中文网 > 疯狂的程序员 > 《疯狂的程序员》46

《疯狂的程序员》46

一零中文网 www.10zw.com,最快更新疯狂的程序员 !

    绝影的预感没错,bossliu的进步大大出乎了他的预料,正是所谓士别三日当刮目相看,以前在公司技术虽然不比他高多少,但起码也是旗鼓相当,后来又在看雪论坛上发了一篇精华文章,自以为内力得到极大地提升,没想到bossliu也绝非等闲之辈,eb刚开始才几天,绝影就感觉到来自bossliu的压力。

    最初让bossliu做消息服务器,绝影大大方方地拨给他一周时间,想一周时间要是能做得稳定,拿出来能直接用,尤不失下曹从事。bossliu满口答应,估计得还是保守了一点,没想到第二天便对绝影说:“消息服务器已经做好了,winsock,以前在公司就专做这块,能不能给我个大点的case,免得一身武功荒废了。”

    bossliu说得轻松,绝影分明感觉到这里面有点挑衅的味道。再看看他做的消息服务器,功能上也基本符合设计要求,在gps公司锻炼了一年,bossliu的mfc也用得炉火纯青,单是那casyncsocket的使用便让绝影吃了一惊。对于winsock编程,绝影一直以来都是沿用罗云彬那本汇编书上的方法,用多了,便觉得刀枪根棍棒都耍得有模有样,至于mfc里的socket类也不再去研究。

    后来事实证明绝影的这一先入为主的思想真是害死人。罗云彬第一版书上的winsock编程部分存在一个致命的bug――根本没有解决粘包问题,虽然在第二版上修正了这个bug,但还是让绝影花了好大的力气才让思想转过这个弯。

    明白了这个问题,回过头来再想想以前做的socket相关程序,难怪小规模回环测试一下还不错,一放到服务器上耐力测试便运行得莫名其妙,所以有些人老说:“怎么运行不对呢?明明没有错误啊。”或者说:“我是世界上技术最牛的人了,还有比我牛的人吗?没看到啊。”其实你找不到错误并不代表错误不存在,同样,你看不到技术比你牛的人并不代表世界上就没有技术比你牛的人。

    验收了bossliu的产品,绝影半开玩笑地说:“boss啊,早知道你肯定有研究成果,咋的你就是不愿意拿出来分享呢?”

    bossliu摆摆手:“boss大人,你不是一直专注于汇编吗?这点东西对你来说算‘研究成果’?别的小弟我就不说了,要是这凭这玩艺也敢在你面前班门弄斧,那还不被你笑死!被你笑死的事情我不做!”

    张厂长又去了几趟城隍庙,对他来说收获还是颇丰,绝影一直觉得他有点中饱私囊的嫌疑,一一查看了购物清单,奈何都在公司允许范围之内,就是出门动不动就打车,次数多了,周总的意见也就大了起来。开会的时候,周总严肃地说:“关于出差打车,我的意见是除非项目紧急,能坐公车就坐公车,又环保又省钱,这一直是国外推崇的啊。”

    绝影在下面撇撇嘴,暗自嘀咕道:“你以为咱都是出租车司机啊?跑大老远出差还得先调研公交车分布路线。”

    等到指纹仪寄到公司,张厂长算是圆满完成任务。那指纹仪放在桌上,和绝影原先想像的不一样,主要是体积太大,居然足足有自己的音响那么大。

    张厂长左右摆弄着那台机器,像是自言自语道:“体积是大了点,不过根据技术手册,性能应该比较稳定,先让我来试试。”

    试验结果出来,搞得张厂长好像丢了很大面子。那机器性格也太古怪,还非得人来将就它,首先你得把手洗赶紧,就算稍稍多了点汗,影响识别效果不说,搞坏了机器责任还得自负;然后你得端端正正把指头肉最多的地方不偏不倚地按到指定位置,必要时,你还得先目测一下那扫描器中心位置在哪里;第三,你得听到嘟一声后才放手,放早了不行这容易理解,居然放晚了也识别不通过。

    绝影失望地摇摇头,张厂长连忙说:“也有很精确的,不过价格太离谱了,用那个,是不切实际的。”

    几个人决定先从ui模块开始,由绝影负责,指纹仪和摄像头模块可以同步进行,分别由张厂长和bossliu负责。

    ui的表现形式又是个大难题,用传统的dialogbase和singledocument肯定不行,版面实在太有限了,要是用multipledocuments,各个页面的布局还得分别设计,页面之间的数据交换又是个大问题,说不定还得设计专门的数据交换模块。

    绝影一筹莫展,转身看看bossliu,这一看不要紧,吓得他差点报警。

    本来bossliu桌子四周的围栏比较高,他人整个钻进去也顶多冒点脑袋顶上的头发出来,绝影望了半天,望不到bossliu的脑袋,却只见上面烟雾缭绕。上次说哪个大商场里发生火灾,当场烧死百十来人,本来他打死也不相信,想一个大活人,两只脚好好的,还能让火给鳖死?现在看到这场面,难道传说中的火灾已经发生在可怜的bossliu座位上。正惊慌失措,却见bossliu突然站了起来,高呼一声:“有构思了!”然后慢满掐灭所剩无几的烟屁股,把它往烟缸里使劲憋进去。

    再看看他的烟缸,已经被他严重超载得不成样子,本来核定载烟屁股30根,bossliu却硬生生至少憋了至少130根进去,再加上这一年来,bossliu的烟瘾也随着他的技术不断进步,看三包烟盒空荡荡地摆在桌子上,绝影终于松了口气道:“吓死人了!”

    这一说,bossliu也发觉了自己的失态,忙说:“激动了激动了,对不起,对不起。”

    “不是说这个,说你抽的烟。老子以为失火了。”

    bossliu打趣道:“boss啥时候变得这么敏感?要是一年前公司失火,如果只有一个人被烧死,那肯定是boss你,因为你肯定还坐在那里写程序。要镇定,你看那泰坦尼克号,就算马上就要沉了,人家拉提琴的还是一样拉着提琴,这是什么精神?这就是敬业精神!”

    绝影白了他一眼,努力让自己镇定下来,问:“什么啊?啥事那么高兴。”

    “摄像头这模块,我有构思了,就用vfw,网上好多现成代码,boss你以后不要再这样照顾我了,大case,我要大case。”

    “大case,有!ui界面设计方案有没有?”

    “最讨厌做界面。”

    “有点深度好不好?什么对话框单文档多文档的都不要来,来就要来个高级的。就高级的,你有没有什么好点子。”

    “高级的就是有,就怕技术不成熟?”

    “有就尽管说,人有多大胆,地有多大产。”

    “那个norton总知道吧,新版本出来,我就是一直觉得他那界面很特别,你看,不就是个网页么?如果能把界面像网页那样做,不但容易美化,还容易批量生产,你想想,要在dialog上调整某个static的字体,还是得写点代码吧?网页就不一样了,直接在html上加个font就搞定。”

    绝影去bossliu机器上看了看他的norton,还真做得像个网页,什么按钮都没有,放上去鼠标就变成手的形状,就是个超链接,再点开,便“卡”地一声跳到另外一个页面。如果是这样的界面,真的能实现多个页面间的方便切换。做软件,做终还得考虑用户的使用,你要是从登记页面转到分诊页面还得用菜单点上好几下,人家的意见就大得很,周总一直以来的设计思想就是“一键式”就点一下,想去哪个页面去哪个页面。像csdn论坛一样,导航栏摆左边,要去哪页你点一下就ok。

    摆弄了半天,绝影自言自语道:“做这玩艺,好像是得费点功夫。”

    “我就想boss应该没兴趣去做,还得等我以后自己去研究了。”

    “放屁!就用这个方案!去查查,这是啥玩艺类。网上研究界面的人多得很,肯定有现成的。”

    “不劳boss大架了,之前我稍微研究了一下,貌似这是个cdhtmldialog类,vc2003里面已经实现了,不过vc6没有这个类。”

    回到自己的位置,绝影认真看了看新版本的msdn,真有这个类,不过是基于对话框的,这肯定也不符合要求,因为至少得在左边要一个导航栏,用documentview结构就很简单,大不了就是换个view类。按照微软的设计思想,有ctrl就应该有view,有cdhtmldialog就应该有cdhtmlview,去网上查一查,乖乖,关键字cdhtmlview在google上居然只有四个检索结果。

    绝影突然犹豫了,他开始怀疑自己,在这之前,他从来没有犹豫过。任何东西,只要周总陈董交给他,虽然对破解的case他会说:“不保证能做出来。”但是他心里从来没想过什么东西我可能做不出来。在他看来,只要有人能做出来,就一定有办法,所以每次有新的case,新的技术难题,他从来不会退缩,他总说:别人能做到,为什么我不能做到?

    可是这个挑战太大了,dtmlview应该是刚出来不久,还没有很成熟的技术,公司在这方面更没有什么技术积累,而摆在眼前是个实实在在的case,3个月以后就得把东西交给人家,这样做,万一做到一半做不动了,整个case就等于失败,而且这种失败和dap不同,对公司来说,这是直接的经济损失,信誉损失,对自己来说“小绝啊,从来没让我们失望过”这个神话将被打破,对bossliu来说,难得的一次两个自认为高手的人在一起合作的机会以失败告终,这上非常惨痛的失败。

    不知什么时候,bossliu悄悄站在了绝影旁边,他没有打扰他,像是在等待他什么。绝影像bossliu一样突然站起来,说:“就用这个方案。”

    bossliu说:“好,我尽快把摄像头模块搞完,一起来搞这个。”

    “嗯,我先认真调研一下,先写一个页面的de摸出来,以后其它页面就可以照这个批量生产了。”

    几年以后,当bossliu回忆起当初的情景,仍然心有余悸地对绝影说:“boss啊,其实当时你决定用dhtmlview是相当冒险的啊,我都捏了一把冷汗。”

    绝影笑笑:“我是全身冷汗。”

    如果这个世界上所有的技术都是专门一本书或者成册集中在一起,肯定还能造就一大批高手,问题是往往事与愿为,就比如这cdhtmlview,google上的技术资料虽然少得可怜,好多功能脑子里能想像但又找不到具体实现的代码,好在html这东西当初设计得还不错,什么javascript啊vbscript啊都能支持,这又给程序员极大的想像空间。这功能c++代码实现不了,想办法用javascript嵌入到html里面去,再想办法从c++里面调用javascript,虽然步骤是多了一点,而且据说javascript效率不高,但是用户不知道,管他黑猫白猫,抓住老鼠就是好猫。

    张厂长的指纹识别模块和bossliu的摄像头模块都如期close掉,绝影也把第一个简单页面做了出来,看看case进度表,正好赶上,这让他悬着的心稍微放了一点下来。赶紧又让张厂长开始做html页面设计,bossliu继续投入到ui其它页面的开发。

    bossliu对这样的安排已经习以为常,却难坏了张厂长,他早已习惯在close掉一个case后自己给自己放一段小假。

    燕儿知道绝影忙,但是能说他什么呢?就算说了也解决不了问题,还得碰一鼻子灰,她唯一能说的就是:“吃饭能不能慢点,你嚼一嚼不行吗?难道还非得赶那几分钟时间。”

    其实吃饭真是件好事啊。不但能填饱肚子,还能趁这点时间想点问题,平时都对着电脑,思维难免陷入死角,走到饭桌子上来,思维便又稍微舒展开一点,这时候想问题往往有意想不到的收获。

    绝影一边往嘴里扒饭一边对燕儿点头,本来他还想:“嗯,嗯。”两声,奈何嘴里全是饭,开不了口,只觉得这饭菜送到嘴里,瞬间便进了胃,食道大大超负荷工作,不断抗议。你抗议?抗议有个p用,你抗议我就镇压你,加大剂量继续把饭菜往里送,那破赛扬366还能让我超到800多呢。说猪八介吃人参果一口吞掉,连味道都尝不出来,以前绝影不相信,那老猪的食道也宽得太离谱了。听燕儿说到自己,这才来仔细想想饭菜到底是什么味呢?还真没尝出来,可惜这一桌子有鱼有肉,就这样白白给浪费掉。

    吃完饭回到公司,周总差异地问:“小绝,小刘,你们还不去吃饭?”

    “已经吃过了。”

    “哦,都吃过了,我还以为你们只是去上厕所呢。”

    二人哼哈两声,便又扒在了电脑上。