工作中的細節

 原文:點擊打開鏈接
吳言的新公司好像一切都進展得很順利,經過一週左右的磨合時間,大家彼此都變得熟悉起來,每個人也基本進入了工作狀態。吳言對此非常滿意,第一次轉型做管理的自己,在最關鍵的第一週並沒有出現大的失誤,這個小團隊已經開始工作了。
但是吳言還是注意到了一些問題,雖然這些問題很小,但是吳言覺得還是需要做些處理才行。
吳言首先發現,李衛東的優點是做工作非常認真,他做出的功能模塊,自己在測試時從來沒出現過問題,有時即使故意輸入些非法數據,程序也可以非常好的處理這些異常情況。對於這點吳言相當滿意,覺得李衛東將來一定可以成爲一個非常優秀的人才。但是李衛東也有一個缺點,就是基礎知識不紮實,一遇到問題就會束手無策,通常這時他都會靜靜地走到吳言身邊,輕輕說:“老吳,你有空嗎?幫我看一個問題!”接着就把吳言請到自己的座位上,讓吳言坐下,然後自己拉一把椅子過來,對着吳言講自己遇到的問題,然後特別誠肯地請吳言來解決。剛開始時,吳言覺得這是一個好習慣,因爲以前在做項目時,遇到過太多的項目組人員,遇到問題時就自己悶頭想,不和別人溝通,最後耽誤了整個項目進度,那時吳言無論怎麼強調及時溝通都沒有效果,李衛東可以主動向吳言請教問題而不是悶在那裏整天沒有進展,吳言還是很滿意的。但是吳言很快發現,李衛東問的問題大部分是比較基礎的問題,而且有時他會問幾乎同樣的問題。吳言覺得需要讓李衛東可以改進一下,一是遇到問題時可以先到搜索引擎上搜一下,二是可以將一些知識點記下來,在下次遇到類似的問題時,可以通過查看以前的筆記得到解決。
吳言還發現,趙文濤編程比較快,但是提交的系統的BUG就比較多,通常在提交過來時,吳言一測試肯定會出現問題,然後把他叫過來,給他指出來,他回去改了改,然後吳言再測,可能又會出現新的問題,然後是再改再測,通常需要往復好幾次。經過查看趙文濤的代碼,吳言發現趙文濤編碼非常隨意,經常不對代碼進行嚴格的縮進匹配,同時還有比如當if語名下只有一句時,不加{},還有本來更不容易出錯的寫法if (0 == var),但是他一般都寫成if (var == 0),這樣如果哪次疏忽丟了一個=號,那就會出現大問題了。對於趙文濤,吳言希望他可以嚴格遵守編碼規範,同時培養將事情一次做好的能力。
面對這些問題,吳言不想生硬的給他們指出來,因爲根據自己以往的經驗來看,這樣做的效果都不大。因爲他們和自己當年一樣,剛從校門出來,都有對自己幹一番大事業的憧憬,但是剛開始工作時,分配到的工作往往都是一些小事,有時甚至是瑣事,一遍遍重複,相當乏味枯燥。幹一番大事業的憧憬與整日陷於小事的落差太大,以致於我們都會產生牢騷、抱怨,覺得自己被大材小用。在這種情緒下,我們難免就會對手頭的小事不夠重視,這樣我們又會受到指責、批評甚至辱罵,有時還要替同事來背黑鍋。
其實現在吳言已經有所領悟了,剛開始工作時從小事做起,可以磨練我們的性格,培養出認真做事的能力,讓我們注重細節,提高執行力。同時我們也可以在小事中發現可以改進的地方,把這些小事做得更好,提高效率和質量,這樣不僅可以爲公司創造效益,同時也可以使自己增強本領。可惜吳言明白這一點已經太晚了,當吳言開始注意這些細節和小事時,吳言已經發現自己是開各種會議時年紀最大但是職位最低的一位了。
吳言不想讓這些員工重新經歷一遍自己以前所經歷的一切,走自己以前所走的彎路,吳言想找到機會有辦法來提醒他們可以注重工作中的細節和小事,並且把這個作爲他們自己的一個信條,這樣才真正有效果,而且這樣不僅對公司好,更重要的是對他們每個人的職業生涯都有好處。想到這些,吳言不禁覺得他們好幸運呀,能夠遇到自己這樣一位領導,讓他們在職業生涯少走很多彎路,如果自己當初能有這麼好的運氣就好了。
這天吳言正在思考着文本自動聚類算法中的準實時的問題,就是當新文章加入時,怎樣可以做到立即進行聚類,讓用戶可以馬上看到結果,這個過程一定要快,讓用戶感覺不到明顯的延遲,同時在運行聚類算法時,原來的聚類結果還可以服務於其他同時在線的用戶。
吳言正想得入神,這時李衛東又走了過來,輕輕地說:“老吳,有空嗎?幫我看一個問題?”吳言這才從沉思中回過神來,這已經是今天李衛東第三次找自己解決問題了。這種情況確實需要改變了,李衛東平均一天要找自己四五次,自己每次都剛進入工作狀態就被打斷了,工作效率太低了。吳言心中想着,決定利用這次機會向李衛東提出自己的建議。
像往常一樣,吳言又坐到了李衛東的座位上,李衛東扯把椅子坐在的旁邊。
李衛東邊指着屏幕邊說:“您看這兩日期都是用字符串表示的,都是年月日時分秒形式,我現在要求出這個時間的時間差,這個需要怎麼處理呢?”
這個是一個比較基本的問題,但是Java中處理這個問題的類有好幾個,確實很難都記住。
吳言就說:“噢!這個問題其實我也記不住細節,我只知道大體的方法,就是先將這些字符串轉化爲日期類,然後對這兩個日期類進行運算求出時間差就可以了。你看,遇到這樣的問題可以首先在搜索引擎上搜一下,我經常用的是Google,因爲搜技術文檔時Google比百度的結果要好一些。”
說着吳言打開瀏覽器,進入Google搜索界面輸入了“java 字符串轉日期”,Google的搜索提示最終選擇到了上邊的結果,吳言向李衛東說道:“你看,通常我們想要搜的內容,都可以通過Google的自動提示找到。”吳言看了一眼李衛東,李衛東點了點頭。接下來他們找到了ITEye上面的一篇文章一起讀了起來。
吳言說:“你看,可以將字符串通過DataFormat轉化成Date類的對象,因爲Date類可以表示爲該類所代表的時間到1970年的毫秒數,把兩個數一減,不就可以得到這個兩時間的差了嗎!然後把這個時間除以1000就是相差的秒數了。”
李衛東不停地點着頭,應該是已經明白該怎麼做了。這時吳言不失時機的說:“其實,你發現沒有,你每次叫我過來解決問題的時侯,我都是通過搜索引擎來解決問題的,你其實也可以嘗試一下。這樣你對搜索引擎熟悉後,很多問題都可以自己解決了。”
李衛東點點頭,說道:“是!我以前也經常搜,每回都返回好多文章,就是不太清楚怎麼才能找到需要的文章,感覺挺費時間的。”
吳言接着他的話說道:“確實是這樣,不過在看搜索出來的結果時,如果是ITEye、CSDN、博客園、StackOverflow上的文章,你可以優先看一下,通常這些地方的文章質量比較高。”
李衛東迅速拿過紙和筆,不好意思的說:“老吳,能在再說一下嗎?我記一下!”吳言就又重複了一遍,李衛東把這些記在了本上,然後又讓吳言確認了一遍。
吳言對李衛東這種工作態度和工作方法還是很滿意的,由衷地說:“其實我覺得你很多工作習慣都挺好的,我都應該向你學習呀!”
李衛東謙虛地說:“哪里哪里!”但是臉上還是露出了一絲得意的表情。
果然,在這之後,李衛東提問的次數明顯減少了,吳言也發現他確實在認真地使用搜索引擎了,而且原來他一般使用百度,現在也在使用Google了,看來李衛東還是真的轉變了。
今天怎麼過得這麼快,還沒幹出什麼來就要下班了,吳言伸了個懶腰,感慨着。這時李衛東走了過來,不好意思的說:“老吳,我想把一個字符串表示的時間,存到數據庫裏,怎麼把字符串轉化成日期我給忘了!”
吳言這時第一反應真想說:“前兩天不是剛給你說過嗎?怎麼現在就忘了,自己查去!”但是吳言壓制住了自己的衝動。覺得應該趨這個機會提醒他做好技術積累工作。
“我剛纔查了一下,怎麼也找不到那次那篇文章了,而且上次的那個類我也忘記是哪個了!我想在下班前把這個功能做出來,所以過來問問你!”李衛東不好意思地接着說着。
原來是這樣,吳言慶幸自己剛纔沒那麼生硬的說出那句話來,他的這種今日事今日畢的精神還是非常值得肯定的,平心而論,現在系統中至少有上百個類,對於他這樣一個新人來說,由於沒弄清基礎架構,面對一百多個類迷失在裏面也很正常。想到這些,吳言說:“沒關係,我幫你把原來的那個類找到!今天還要加班呀,親苦了!”
吳言又坐到了李衛東的座位上,這次李衛東沒有拉椅子坐在旁邊,而是站在了一邊。吳言把那次那個類調了出來,指着那段代碼說:“你看是這裏吧!”
“是的,是的!”李衛東答着。
吳言沒有立即起身,而是略有感悟地說:“其實以前我也和你一樣,經常自己做的東西,過了一段時間就忘記了,後來我就堅持把重要的事情都寫日誌,不是爲了發表,只是爲了自己在以後可以作爲參考,後來我用QT做了一個小工具,可以把包括項目、任務、日期、關鍵詞、類別等信息記錄下來,以後再遇到類似問題時,可以先查自己的這些知識庫,然後再去搜索引擎。”
“是的,您那個東西能發給我一份嗎?”李衛東真誠的問着。
“沒問題!”吳言答着。
吳言接着把自己的這個小工具發給了李衛東,然後給他講解了一下大致的用法。
在隨後的幾天中,吳言發現李衛東還真的在用自己的這個小工具,而且很認真,吳言不禁覺得李衛東真的是難得的好員工。
下面就是趙文濤代碼不規範而且做事比較馬虎的問題了,吳言感覺這個問題比較棘手。對於像趙文濤這樣自視極高的開發人員,跟他說代碼規範並讓他去遵守很困難,包括目前很多公認的高手,他們有一些代碼也是寫得只有自己可以看得懂。但是吳言覺得良好的代碼風格和編程習慣,對於自己或其他人日後維護代碼都非常重要。但是怎樣把這個想法讓趙文濤這樣的開發人員接受呢?直接說效果肯家有限,而且如果反覆強調的話,還很可能令他們很反感。吳言一直想找到一個好的方法。
終於,吳言找到了一個可以利用的機會。事情是這樣的,在趙文濤的一段代碼中,原來if語句後只有一句,所以他沒有加{},今天讓加入的新功能中,正好需要在該if中再加一句,趙文濤直接加在了原來語句的前面,這樣本來if條件滿足時,需要執行兩句程序,現在變成只能執行一條了,而且比較巧的是,當前的數據庫中的數據不會運行到這段代碼,因此這個問題如果不是吳言審覈代碼比較仔細,是很難被發現的,但是一旦正式上線後,又會造成很大問題,而且可能根本找不到原因。
於是,吳言在數據庫中又加入了一些數據,使得正好可以執行到這段代碼,然後一運行,果然不出所料,屏幕上打出了滿滿一屏的異常信息,吳言大聲叫道:“趙文濤,你過來看一下,你的這個功能怎麼產生了這個結果呢?”
趙文濤走了過來,看到了滿屏的異常,奇怪地說:“不可能呀,我是測過的,在我那沒有問題的!”於是拉着吳言來到自己的座位上,非常自信的又運行了一遍剛纔的功能,邊操作邊說:“您看,在我這結果應該是這樣的!”他的話還沒說完,他的屏幕上就也出現了滿屏的異常。
“咦?這是怎麼回事?剛剛明明是好好的!”趙文濤困惑地說着。
“那你先看一下,好了過來叫我!”吳言說着就走回了自己的座位上。
整整一個下午,趙文濤都坐在座位是全身心的調試着,但是不出吳言所料,趙文濤在拋出異常的類中拼命的加斷點、打印,但是怎麼也找不到爲什麼會出這樣的問題。這也不奇怪,任誰也很難想到問題會出現在與出現異常的類幾乎豪不相關的代碼中。
現在窗外已經華燈初上了,李衛東和曾玉潔也都早已經下班了,趙文濤還在那裏忙得焦頭爛額,而且毫無頭緒。又過了良久,趙文濤終於走到吳言面前,被這個奇怪的BUG折磨得滿臉通紅,不好意思地說:“真是非常奇怪,我跟蹤了所有代碼,怎麼也找不到爲什麼會出現異常!”
吳言聽了點了點頭,說:“也是,我上午剛用的時侯,你的那個功能也是正常的,後來就不正常,真是很奇怪!”吳言說完略略停了一下,忽然說:“對了,我上午又做了一些試驗數據,會不會是這些數據造成的呢?”
“不可能吧?數據怎麼會引起我的程序異常呢?”趙文濤不服氣地說。
“我們可以先看一下,反正在代碼裏找不到原因!”吳言堅持着。趙文濤於是拉把椅子坐在了吳言的旁邊,兩個人一起看起來。
吳言打開數據庫,調出自己特意加入的數據,說:“你看這些數據的都是保存的外部鏈接而不是內部鏈接,你做判斷了嗎?”
“我做判斷了!”趙文濤自信地說,然後搶下吳言手中的鼠標,找開了那個類,找到了那個吳言早就看出有問題的if語句。“您看,就在這裏做判斷的!”趙文濤堅定地說。
吳言應了一聲,然後開始看這段代碼。
“咦!這裏是不是少了一個{}”吳言故意說着,“這裏兩句應該都是在if下邊吧!”
“噢!是,我忘了加了!”趙文濤不好意思的說,然後飛快的加上了{},然後重新部署啓動應用服務器,然後又運行了一遍剛纔的功能,功能竟然神奇的好了。
趙文濤放鬆的靠在了椅背上,恨恨的說:“原來是這個問題,害得我搞了整整一天!”
吳言不失時機地說:“是呀!多數特別難調的BUG都是一些小失誤造成的。你剛纔的那個問題就是因爲你不習慣在if後面加{},這樣以後在if下面再加語句時就很容易忘記了,出現你現在的情況!”
趙文濤這時心悅誠服的點了點頭,吳言接着說:“其實好的編碼習慣可以幫助我們減少很多錯誤的!”趙文濤這時也深深地點了點頭。
吳言看基本差不多了,就說:“其實你可以按照代碼規範的做法試一下,編碼速度不會受什麼影響,但是在讀代碼及調試時可以快很多。”
“是的,看來真得注意編碼規範了!”趙文濤誠心誠意地說。
於是吳言順着他的話說:“我這兒有一份比較好的代碼規範,你可以參考一下。”
“好的,好的!”趙文濤非常愉快地說。
於是吳言把代碼規範發給了趙文濤,在這之後,吳言發現趙文濤的代碼質量確實大有提高,看來這個大難題現在也得到解決了,吳言終於可以專心到自己的工作上來了。
敬請期待下集:專注還是活着
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章