簡體版 繁體版 《瘋狂的程式設計師》46

《瘋狂的程式設計師》46


兵王歸來 屌絲的春天 自由 凰權之帝后無雙 絕品靈師:腹黑邪王逆天妃 狼子野心 重生變女王:拿下特種隊長 青澀的味道 戰火年代 怎麼又是天譴圈

《瘋狂的程式設計師》46

絕影的預感沒錯,BOSS Liu的進步大大出乎了他的預料,正是所謂士別三日當刮目相看,以前在公司技術雖然不比他高多少,但起碼也是旗鼓相當,後來又在看雪論壇上發了一篇精華文章,自以為內力得到極大地提升,沒想到BOSS Liu也絕非等閒之輩,EB剛開始才幾天,絕影就感覺到來自BOSS Liu的壓力。

最初讓BOSS Liu做訊息伺服器,絕影大大方方地撥給他一週時間,想一週時間要是能做得穩定,拿出來能直接用,尤不失下曹從事。BOSS Liu滿口答應,估計得還是保守了一點,沒想到第二天便對絕影說:“訊息伺服器已經做好了,WinSock,以前在公司就專做這塊,能不能給我個大點的CASE,免得一身武功荒廢了。”

OSS Liu說得輕鬆,絕影分明感覺到這裡面有點挑釁的味道。再看看他做的訊息伺服器,功能上也基本符合設計要求,在GPS公司鍛鍊了一年,BOSS Liu的MFC也用得爐火純青,單是那CAsyncSocket的使用便讓絕影吃了一驚。對於WinSock程式設計,絕影一直以來都是沿用羅雲彬那本彙編書上的方法,用多了,便覺得刀槍根棍棒都耍得有模有樣,至於MFC裡的Socket類也不再去研究。

後來事實證明絕影的這一先入為主的思想真是害死人。羅雲彬第一版書上的WinSock程式設計部分存在一個致命的BUG??根本沒有解決粘包問題,雖然在第二版上修正了這個BUG,但還是讓絕影花了好大的力氣才讓思想轉過這個彎。

明白了這個問題,回過頭來再想想以前做的Socket相關程式,難怪小規模迴環測試一下還不錯,一放到伺服器上耐力測試便執行得莫名其妙,所以有些人老說:“怎麼執行不對呢?明明沒有錯誤啊。”或者說:“我是世界上技術最牛的人了,還有比我牛的人嗎?沒看到啊。”其實你找不到錯誤並不代表錯誤不存在,同樣,你看不到技術比你牛的人並不代表世界上就沒有技術比你牛的人。

驗收了BOSS Liu的產品,絕影半開玩笑地說:“BOSS啊,早知道你肯定有研究成果,咋的你就是不願意拿出來分享呢?”

OSS Liu擺擺手:“BOSS大人,你不是一直專注於彙編嗎?這點東西對你來說算‘研究成果’?別的小弟我就不說了,要是這憑這玩藝也敢在你面前班門弄斧,那還不被你笑死!被你笑死的事情我不做!”

張廠長又去了幾趟城隍廟,對他來說收穫還是頗豐,絕影一直覺得他有點中飽私囊的嫌疑,一一查看了購物清單,奈何都在公司允許範圍之內,就是出門動不動就打車,次數多了,周總的意見也就大了起來。開會的時候,周總嚴肅地說:“關於出差打車,我的意見是除非專案緊急,能坐公車就坐公車,又環保又省錢,這一直是國外推崇的啊。”

絕影在下面撇撇嘴,暗自嘀咕道:“你以為咱都是計程車司機啊?跑大老遠出差還得先調研公交車分佈路線。”

等到指紋儀寄到公司,張廠長算是圓滿完成任務。那指紋儀放在桌上,和絕影原先想像的不一樣,主要是體積太大,居然足足有自己的音響那麼大。

張廠長左右擺弄著那臺機器,像是自言自語道:“體積是大了點,不過根據技術手冊,效能應該比較穩定,先讓我來試試。”

試驗結果出來,搞得張廠長好像丟了很大面子。那機器性格也太古怪,還非得人來將就它,首先你得把手洗趕緊,就算稍稍多了點汗,影響識別效果不說,搞壞了機器責任還得自負;然後你得端端正正把指頭肉最多的地方不偏不倚地按到指定位置,必要時,你還得先目測一下那掃描器中心位置在哪裡;第三,你得聽到嘟一聲後才放手,放早了不行這容易理解,居然放晚了也識別不透過。

絕影失望地搖搖頭,張廠長連忙說:“也有很精確的,不過價格太離譜了,用那個,是不切實際的。”

幾個人決定先從UI模組開始,由絕影負責,指紋儀和攝像頭模組可以同步進行,分別由張廠長和BOSS Liu負責。

UI的表現形式又是個大難題,用傳統的Dialog Base和Single document肯定不行,版面實在太有限了,要是用Multiple documents,各個頁面的佈局還得分別設計,頁面之間的資料交換又是個大問題,說不定還得設計專門的資料交換模組。

絕影一籌莫展,轉身看看BOSS Liu,這一看不要緊,嚇得他差點報警。

本來BOSS Liu桌子四周的圍欄比較高,他人整個鑽進去也頂多冒點腦袋頂上的頭髮出來,絕影望了半天,望不到BOSS Liu的腦袋,卻只見上面煙霧繚繞。上次說哪個大商場裡發生火災,當場燒死百十來人,本來他打死也不相信,想一個大活人,兩隻腳好好的,還能讓火給鱉死?現在看到這場面,難道傳說中的火災已經發生在可憐的BOSS Liu座位上。正驚慌失措,卻見BOSS Liu突然站了起來,高呼一聲:“有構思了!”然後慢滿掐滅所剩無幾的菸屁股,把它往菸缸裡使勁憋進去。

再看看他的菸缸,已經被他嚴重超載得不成樣子,本來核定載菸屁股30根,BOSS Liu卻硬生生至少憋了至少130根進去,再加上這一年來,BOSS Liu的煙癮也隨著他的技術不斷進步,看三包煙盒空蕩蕩地擺在桌子上,絕影終於鬆了口氣道:“嚇死人了!”

這一說,BOSS Liu也發覺了自己的失態,忙說:“激動了激動了,對不起,對不起。”

“不是說這個,說你抽的煙。老子以為失火了。”

OSS Liu打趣道:“BOSS啥時候變得這麼**?要是一年前公司失火,如果只有一個人被燒死,那肯定是BOSS你,因為你肯定還坐在那裡寫程式。要鎮定,你看那泰坦尼克號,就算馬上就要沉了,人家拉提琴的還是一樣拉著提琴,這是什麼精神?這就是敬業精神!”

絕影白了他一眼,努力讓自己鎮定下來,問:“什麼啊?啥事那麼高興。”

“攝像頭這模組,我有構思了,就用VFW,網上好多現成程式碼,BOSS你以後不要再這樣照顧我了,大CASE,我要大CASE。”

“大CASE,有!UI介面設計方案有沒有?”

“最討厭做介面。”

“有點深度好不好?什麼對話方塊單文件多文件的都不要來,來就要來個高階的。就高階的,你有沒有什麼好點子。”

“高階的就是有,就怕技術不成熟?”

“有就儘管說,人有多大膽,地有多大產。”

“那個Norton總知道吧,新版本出來,我就是一直覺得他那介面很特別,你看,不就是個網頁麼?如果能把介面像網頁那樣做,不但容易美化,還容易批次生產,你想想,要在Dialog上調整某個Static的字型,還是得寫點程式碼吧?網頁就不一樣了,直接在HTML上加個Font就搞定。”

絕影去BOSS Liu機器上看了看他的Norton,還真做得像個網頁,什麼按鈕都沒有,放上去滑鼠就變成手的形狀,就是個超連結,再點開,便“卡”地一聲跳到另外一個頁面。如果是這樣的介面,真的能實現多個頁面間的方便切換。做軟體,做終還得考慮使用者的使用,你要是從登記頁面轉到分診頁面還得用選單點上好幾下,人家的意見就大得很,周總一直以來的設計思想就是“一鍵式”,就點一下,想去哪個頁面去哪個頁面。像CSDN論壇一樣,導航欄擺左邊,要去哪頁你點一下就OK。

擺弄了半天,絕影自言自語道:“做這玩藝,好像是得費點功夫。”

“我就想BOSS應該沒興趣去做,還得等我以後自己去研究了。”

“放屁!就用這個方案!去查查,這是啥玩藝類。網上研究介面的人多得很,肯定有現成的。”

“不勞BOSS大架了,之前我稍微研究了一下,貌似這是個CDHTMLDialog類,VC2003裡面已經實現了,不過VC6沒有這個類。”

回到自己的位置,絕影認真看了看新版本的MSDN,真有這個類,不過是基於對話方塊的,這肯定也不符合要求,因為至少得在左邊要一個導航欄,用document/view結構就很簡單,大不了就是換個View類。按照微軟的設計思想,有Ctrl就應該有View,有CDHTMLDialog就應該有CDHTMLView,去網上查一查,乖乖,關鍵字CDHTMLView在Google上居然只有四個檢索結果。

絕影突然猶豫了,他開始懷疑自己,在這之前,他從來沒有猶豫過。任何東西,只要周總陳董交給他,雖然對破解的CASE他會說:“不保證能做出來。”但是他心裡從來沒想過什麼東西我可能做不出來。在他看來,只要有人能做出來,就一定有辦法,所以每次有新的CASE,新的技術難題,他從來不會退縮,他總說:別人能做到,為什麼我不能做到?

可是這個挑戰太大了,DTMLView應該是剛出來不久,還沒有很成熟的技術,公司在這方面更沒有什麼技術積累,而擺在眼前是個實實在在的CASE,3個月以後就得把東西交給人家,這樣做,萬一做到一半做不動了,整個CASE就等於失敗,而且這種失敗和DAP不同,對公司來說,這是直接的經濟損失,信譽損失,對自己來說,“小絕啊,從來沒讓我們失望過”這個神話將被打破,對BOSS Liu來說,難得的一次兩個自認為高手的人在一起合作的機會以失敗告終,這上非常慘痛的失敗。

不知什麼時候,BOSS Liu悄悄站在了絕影旁邊,他沒有打擾他,像是在等待他什麼。絕影像BOSS Liu一樣突然站起來,說:“就用這個方案。”

OSS Liu說:“好,我儘快把攝像頭模組搞完,一起來搞這個。”

“嗯,我先認真調研一下,先寫一個頁面的Demo出來,以後其它頁面就可以照這個批次生產了。”

幾年以後,當BOSS Liu回憶起當初的情景,仍然心有餘悸地對絕影說:“BOSS啊,其實當時你決定用DHTMLView是相當冒險的啊,我都捏了一把冷汗。”

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

如果這個世界上所有的技術都是專門一本書或者成冊集中在一起,肯定還能造就一大批高手,問題是往往事與願為,就比如這CDHTMLView,Google上的技術資料雖然少得可憐,好多功能腦子裡能想像但又找不到具體實現的程式碼,好在HTML這東西當初設計得還不錯,什麼Javascript啊VBscript啊都能支援,這又給程式設計師極大的想像空間。這功能C++程式碼實現不了,想辦法用Javascript嵌入到HTML裡面去,再想辦法從C++裡面呼叫Javascript,雖然步驟是多了一點,而且據說Javascript效率不高,但是使用者不知道,管他黑貓白貓,抓住老鼠就是好貓。

張廠長的指紋識別模組和BOSS Liu的攝像頭模組都如期Close掉,絕影也把第一個簡單頁面做了出來,看看CASE進度表,正好趕上,這讓他懸著的心稍微放了一點下來。趕緊又讓張廠長開始做HTML頁面設計,BOSS Liu繼續投入到UI其它頁面的開發。

OSS Liu對這樣的安排已經習以為常,卻難壞了張廠長,他早已習慣在Close掉一個CASE後自己給自己放一段小假。

燕兒知道絕影忙,但是能說他什麼呢?就算說了也解決不了問題,還得碰一鼻子灰,她唯一能說的就是:“吃飯能不能慢點,你嚼一嚼不行嗎?難道還非得趕那幾分鐘時間。”

其實吃飯真是件好事啊。不但能填飽肚子,還能趁這點時間想點問題,平時都對著電腦,思維難免陷入死角,走到飯桌子上來,思維便又稍微舒展開一點,這時候想問題往往有意想不到的收穫。

絕影一邊往嘴裡扒飯一邊對燕兒點頭,本來他還想:“嗯,嗯。”兩聲,奈何嘴裡全是飯,開不了口,只覺得這飯菜送到嘴裡,瞬間便進了胃,食道大大超負荷工作,不斷抗議。你抗議?抗議有個P用,你抗議我就鎮壓你,加大劑量繼續把飯菜往裡送,那破賽揚366還能讓我超到800多呢。說豬八介吃人参果一口吞掉,連味道都嘗不出來,以前絕影不相信,那老豬的食道也寬得太離譜了。聽燕兒說到自己,這才來仔細想想飯菜到底是什麼味呢?還真沒嚐出來,可惜這一桌子有魚有肉,就這樣白白給浪費掉。

吃完飯回到公司,周總差異地問:“小絕,小劉,你們還不去吃飯?”

“已經吃過了。”

“哦,都吃過了,我還以為你們只是去上廁所呢。”

二人哼哈兩聲,便又扒在了電腦上。