現在的軟件越來越寵大、應用越來越豐富、應用邏輯也越來越復雜。不象最初的軟件開只依靠個人的技巧來完成的。為了解決軟件危機,有許多專家和組織也提出了相應的方法論。身為程序員我又應如何來提高我的軟件開發能力呢?
1:采用合適的技術
程序員大凡都是聰明的人,至少在抽象思維方面是比較強的。這也決定了我們這些程序員大都有一種追求技術的好斗心。當然有這個好斗心是好的,這是我們得以不斷追趕日新月異技術的源動力。但是在開發項目時我們應只能采用合適的技術,因為我們的項目有商業目的。我們不能為了一個小小項目而搬出EJB、DCOM等高深的技術來。也不能因為一時的項目時間吃緊而放棄應有的技術。
2:利用可復用的資源
我總是對別人寫的代碼抱以審視的態度,總會以為別的代碼里有著BUG或者他的模塊里有著某種機關。我總想試圖自已從無到有地搭建所有的模塊。有時甚至懷疑MICROSOFT在MFC這個框架里放入了儲如什么“竊聽器”,我變得很糟糕。一個生產飛機的公司得要從零開始地生產每一個零件了,這確實是很有趣。我們會發現公司會很快進入一個“疲憊”的狀態。當然生產飛機的公司不會這樣做,他會采購有質量保證的零件,為什么我們不這樣做呢?當然我們也要對將要采用的資源給以質量驗證了。
3:畫出你的意圖
蜜蜂建筑的蜂巢漂亮極了,連最偉大的建筑師也不得不如是說。但是它的建巢行為并沒有任何的圖紙、規劃,它們完全憑著本能,是不是我們的“這種藝術行為”(我在這里這樣說,但實際上別人并不會這樣認為的)也不需要圖紙、規劃呢?的確是,不過前提是你必須一出生就會寫漂亮代碼了(那是你的一種本能)。別以為畫圖紙、規劃亂費了你的時間。看看指南針再走路,是不是等你走出森林才發現走錯了方向更好。
4:提高溝通、協作能力
軟件開發是一個集體的勞動,至少現在的大多數商業軟件不再是單槍匹馬地完成的。就算是一個人完成的軟件那么這個程序員也會有他的上司。我們應在一個愉快的環境中工作,這樣我們的藝術細胞才能跳動起來,靈感才能冒出來。又有誰愿意在一個郁悶的環境中工作呢?一句意思相同的話,用兩個句子表達的作用是可能完全不同。我們要跟同事進行良好溝通以最快速度來完成工作,我們要跟上司良好的溝通以取得支持。我要提高自己的溝通、協作能力。
5:持續學習
軟件開發技術在飛速地變化,身在這個浪潮中的我們只有不斷地學習。不學習就等于倒退,再說就算不倒退。我相信在我所專的這個領域里我還是有太多的未知,為什么我不在空閑時去探索它呢?學海無涯,但我們不一定是苦作舟呀,如果你對此已不感興趣或者是討厭了,我建議是馬上退出去做別的。因為這世上賺錢的法子還很多。
6:測試自己的模塊
不要以為測試是測試員的事,我們要對自己做出的模塊有質量的保證,我們也可以籍此來驗證自己的思路、發現自己某處的缺陷。這樣我們就在總結著經驗,一些從“錯誤”中發掘出來的錯誤更加寶貴,因為這些都是經過實踐洗禮。就像電視里經過越戰的戰士比較歷害一樣。
7:寫出良好的注釋
我閱過很多的項目代碼,我發現大師級的模塊里總是有很多良好的注釋,相反有一些有點功底的人他們的代碼里的注釋相當少,有的根本沒有。現在的很多集成環境能夠自動地從我們的注釋中生成文檔,有這樣的支持,我們為什么還吝嗇我們的注釋呢?