瘋狂的程序員 正文 《瘋狂的程序員》29
    見屏幕一黑絕影也不知道是怎麼回事以前在公司測試的時候從來沒出現這種情況反正肯定是程序出了問題壞就壞在還是全屏圖像一黑整個屏幕就黑了。他用眼角的餘光瞟了瞟周總還好周總正在興致勃勃地給醫生們介紹kIpacs是如何如何好只有醫院領導一個人現了問題。他趕忙退出全屏關掉kIpanetbsp;醫院領導正要開口絕影搶在他前面說:「這是正常現象一般kIpacs用久了就要重啟一次。」那言外之意就是:「這黑屏的事沒啥大不了的我們早就知道了。並且這又是不能解決的要能解決我們還不早就解決了。就比如手機一樣就算是nokian95夠高檔了吧可是你能拿它放dVd嗎?放不了還是將就著用吧。所以還是麻煩你們偶爾重啟一下吧。」

    周總聽他這麼說回過頭來丈二和尚摸不著頭。

    最後醫院領導還是在驗收報告上簽了字一行人撤回公司的時候周總問:「小絕阿那個kIpacs重啟是怎麼回事呢?以前怎麼沒聽你說過?」

    絕影哪敢給他講很話忙說:「沒什麼大不了的回去我調研一下估計還有些小Bug。」

    在公司做case就是這樣雖然公司要求所有Bug的現和修正都要最終體現到軟件開文檔裡但實際操作起來往往是程序員現了自己的Bug能隱瞞下來的都隱瞞下來自己抽個時間或者加班把它修改了這樣給領導的印象要好一些。這和現在很多小煤窯的做法差不多雖然上頭三令五申要杜絕安全隱患但事故總還是要生的雖然又說生事故要如實上報及時補救但小老闆們總是能隱瞞不報就隱瞞不報自己私下處理了事。你想真要是如實上報你一個小小煤窯一年12個月就報了二十多個事故上去明年的開採許可證還怎麼可能拿得到?

    絕影說是小事回到公司又看了半天都還是沒搞明白問題就出在調窗上這個調窗原理說簡單點其實就是把圖像的一些屬性調整一下然後重新繪製到dc上小幅度地調整都沒有問題就是大幅度長時間調整最後顯示圖像的部分都會黑掉。先他以為是對m_paInT消息的處理有問題這個就比較麻煩系統經常要送m_paInT這個消息在裡面下個斷點或者加個messageBox就一直要不停地彈出。搞了半天還是找不出個所以然。你想要是真是對這個消息處理出現了問題那應該一早調窗就有問題才對。

    調試了幾次絕影現系統變得越來越慢打開任務管理器乖乖kIpanet內存。要知道kIpacs剛啟動時不過只佔用了17m內存。看樣子像是內存洩漏。這樣想他繼續調窗調一下現內存漲上去可又沒降下來果然是調窗的時候生了內存洩漏。

    知道了原因解決起來就要快得多原來是getdnetetT消息又頻繁送所以那內存洩漏起來真是要命得很。

    加上Re1easedckIpacs終於可以流暢地調窗看看任務管理器內存佔用基本穩定在2om。

    搞完這個Bug絕影看看時間已經是晚上9點多公司的人早不知道什麼時候都走*光了。這次的事情還是給絕影留下了深刻的教訓以至於在很常一段時間別人問他:「影頭你看看我這程序怎麼老是出問題阿?」他都會跟別人說:「先看看是不是有內存洩漏。」

    問題解決了等到第二天周總來到公司絕影便輕描淡寫地對周總說:「昨天那個kIpacs需要重啟的問題我已經解決了是個小問題內存洩漏。」

    所以什麼叫打腫臉充胖子。明明昨天花了5,6個小時憋得幾乎走投無路終於解決出的問題現在在老總面前卻輕描淡寫地說:「是個小netbsp;Liu也許也是這樣自己不知道熬了幾個通宵腦細胞不知殺死多少終於給做出個多線程出來卻輕描淡寫地說:「多線程嘛那個還不容易二三十分鐘就搞出來了。」兩個人都是愛吹牛好像自己能耐大得不得了什麼技術阿方法阿算法阿解決方案阿還不一切都盡在掌握中原以為牛這樣吹了大家就決定自己有多了不起結果最後受苦的是自己開心的是老闆老闆們正是利用了這種心理他們會說:「不錯不錯這麼個大問題能這樣快地解決這個程序裡面還有二十多個Bug都是小問題給你一天的時間夠了吧。」

    周總對絕影反映的問題還是比較關心他說:「內存洩漏這個問題是廣泛存在的阿這種問題又最不好調試。我給你介紹個軟件吧Boundschenetbsp;在以前絕影絕對不會去關心別人介紹的什麼軟件先那軟件是別人介紹的自己又不熟悉軟件好不好阿怎麼用阿都要自己去摸索特別是這個Boundscheck一聽就知道是個英文版的軟件還要拿金山詞霸去翻譯菜單或者網上到處去找漢化版本來以為用這個軟件能極大地提高勞動生產率結果反而花在學習上的時間都遠遠過了它提高的勞動生產率這叫「磨刀誤了砍柴工」。

    可這次絕影還是比較慎重昨天雖然把問題解決了但實在把自己搞得太痛苦也幸虧昨天開了任務管理器現了問題要不說不定把代碼跟蹤到太平洋還不知道問題在哪裡。

    去網上下個Boundsnetetumega公司出的想能出softIce這樣的軟件的公司出的東西還能有假嗎?就比如今天微軟宣佈出了一個新的操作系統那還不成為各大網站的頭條新聞。所以不僅是衣服就是軟件也有個品牌效應。

    那天在公司又調研了一整天絕影第一次知道了「純化測試」這個詞。以後每次周總說:「ok明天我們進行purifinet。」絕影就跟大家翻譯道:「好明天我們進行純化測試沒裝Boundsnetdschenetbsp;最近幾天BossLiu在公司頗為得意看來醫院對kIRegIs試運行非常滿意要他修改的地方也很少。kIRegIs的代碼一直是BossLiu在負責絕影從來沒去看這也好世界上最幸福的事情就是你把事情交給別人別人做好了交給你居然和你的要求一模一樣根本不用改。因為沒什麼事做BossLiu正好潛心研究起netbsp;本來有好多事情都是一樣會做容易做好難就說這c++就算你是寫了五六年程序的程序員說函數模板、類模板、純虛函數、虛基類這些東西你又用上了多少。BossLiu研究了一些這方面東西再加上kIRegIs在醫院取得了成功覺得差不多火候已到絕影也不過爾爾不過就是彙編好一點嗎?還是那句話彙編不過1oo多個指令有什麼難的。

    可絕影總以為他對c++的研究應該僅限於「理論」上。

    兩人見了面BossLiu問:「你知道這個xxxx基類的構造函數會被調用幾次麼?」

    絕影自知肯定回答不上來在這種情況下最好就不要去回答BossLiu是有備而來故意刁難你不是帶著請教的所以就算你僥倖答對了也並不能讓他對你欽佩的感覺油然而生;要是你答錯了就正中他的下懷從此以後凡是有技術上的討論他總是會拿「你xxxx這個問題都不知道還說個p呀」來壓你。

    這正如魯迅先生說的一家人生了孩子你說:「這孩子好呀以後要當什麼什麼大官有多少多少錢。」那你是騙人的可人家父母愛聽。你說:「這孩子最後會死。」這是真話可人家父母不愛聽。怎麼辦你最好就說:「呵這孩子……你看……呵……哈哈……」

    所以絕影避開問題地重點也打起哈哈來:「研究c++阿?有什麼好研究的?我告訴你netetbsp;這是絕影的殺手鑭。先把問題轉移到彙編上來。這方面他有幾年積累算是個小行家。再說的確在自定位和精確計算代碼長度這兩個技術上只有彙編能做到這是高級語言的死穴。管它什麼語言他用這兩點都能把它殺了。

    BossLiu很不服氣地說:「我知道你那彙編在indos下不過是換成『i女oke』來調用apI罷了。還能唬我。BossJue你去各大公司看看。你那玩藝過時了。」

    「你懂個p存在就是合理懂不?這是哪個大哲學家說的。」

    「我知道我知道。可你那玩藝就快連存在的價值都沒有了。我問你除非你搞病毒還能有什麼彙編能做高級語言不能做的?」

    這又將了絕影一軍每次他跟別人說:「我嘛擅長彙編。」就最怕別人問:「你搞病毒的?」別人這樣說就好像說:「你這人真長得就像個賊。」所以每次他都不得不跟別人講一大堆什麼彙編不一定搞病毒除了搞病毒彙編還有什麼什麼用途還能寫什麼什麼程序。想了半天絕影實在想不起彙編還有什麼優勢但沉默下去就是認輸從此以後BossLiu就可以名正言順在他面前顯擺c++從此以後自己和彙編語言在公司中就再沒有什麼地位。請急之下他忽然又想起大學時候做過的大數運算庫終於洋洋得意地說:「誰說沒用了我曾經把一個c++做的大數運算庫算法原封不動地翻譯成彙編算1o24位乘法度居然提高了2oo倍。我用彙編可以把大部分操作數都存到寄存器中可憐的c++阿還得全部存到內存中做高級運算還是應該在一旁休息去吧。」

    說完這話BossLiu沉默了。這是理論論據和事實論據都充分。本來彙編度快這是毋庸置疑的再加上絕影有寫好的程序擺在那裡BossLiu從哪裡駁都駁不倒。見他不說話絕影大模大樣往自己桌子上一坐心裡嘀咕著:「還跟我比netbsp;大概過了1o分鐘BossLiu忽然跳起來大聲說到:「BossJue我差點讓你給忽悠了剛才忘記了cache。現在的cpu都有cachecpu對cache的訪問度和寄存器差不多c++會把經常使用的變量放cache裡面度應該和彙編差不多才對。」

    絕影本來以為可以穩坐釣魚台了沒想到BossLiu就是這麼個不見棺材不掉淚的人聽他這麼說還是有道理至少從理論上講應該是這樣這下他又解釋不了實踐上2oo倍的度差現在沒有理論作為依據就是牽強地去跟BossLiu解釋也會把自己在這次爭論中置於非常不利的地位。最後還是絕影沉默了。

    從那次爭論以後BossLiu再也沒給絕影誇過c++的好也沒再誇自己在c++上的造詣有多深。絕影也沒再在BossLiu面前顯擺彙編有多無所不能自己彙編有多爐火純青。兩人都心知肚明他們倆水平一般要是繼續在這語言孰優孰劣上爭論誰都沒必勝的把握如果輸了臉就丟大了。還不如好好再深造幾年到時再一比高低。

    很多年以後絕影終於想到當初想不出來的問題:彙編語言使用寄存器並不是對寄存器訪問比對內存訪問更快而是對寄存器尋址比對內存尋址更快。很多時候他想把這個告訴BossLiu但他終於還是沒告訴他。

    一晃兩個月過去絕影和BossLiu去醫院對他們的軟件系統作了兩次例行維護和更新醫院的規模還算大登記數據已經有三萬多條kIRegIs還是經受住了耐力測試。kIpacs經過絕影兩次更新基本上也運行比較穩定。在領工資的時候周總對絕影說:「xxx醫院的case已經驗收合格這個月給你5oo元的獎金。因為這個case的收入也不多就你kIpacs貢獻最大所以獎金也就你有對其它的人就不要聲張了。」

    本來絕影覺得這麼大的case忙了這麼久才5oo元的獎金周總也真是太扣門了但聽周總這麼說絕影還心裡笑著走出了他的辦公室恨不得立馬當眾大聲宣佈:「知道嗎?xxx醫院項目獎金5oo元就我絕影一個人有!」

    BossLiu也進了辦公室。周總還是說:「xxx醫院的case已經驗收合格這個月給你5oo元的獎金。因為這個case的收入也不多就你kIRegIs貢獻最大所以獎金也就你有對其它的人就不要聲張了。」

    當然BossLiu在出來的時候也恨不得力馬當眾大聲宣佈:「知道嗎?xxx醫院項目獎金5oo元就我BossLiu一個人有!」

    大家一個二個領完工資臉上都喜氣洋洋。公司的電話響了張廠長積極地搶著去接了電話說了幾句回過頭來說:「醫院打來的找絕影好像程序有些問題。」

    絕影一下傻了。傻的不是程序有些問題是醫院居然指名點姓要找絕影而且醫院居然還知道「絕影」的名字自己麻煩了。  
本站首頁 | 玄幻小說 | 武俠小說 | 都市小說 | 言情小說 | 收藏本頁