昨日跟同事坐在一起吃飯,聊起軟體開發人員在開發效率等方面的話題,頗有感觸。軟體開發行業,並不是乙個輕鬆的行業。因為發展得太快,技術更新得太快,要學習要掌握並將其應用到實際的開發工作當中的東西太多。對此,筆者時常不敢有絲毫的鬆懈,生怕自己不學習、不領會、不實踐,將趕不上行業的腳步。
誠然,活到老、學到老,這句話對軟體從業人員來說,是再恰當不過了。但學習追隨只是其中的一方面,我們更看重的是在有限的時間內開發出有價值的產品出來。這就離不開軟體開發效率的提公升了。或許,軟體開發效率的提公升會牽扯到方方面面,但筆者認為開發人員應該首當其衝。俗話說,事在人為。開發人員怎麼想、如何做,很大程度上決定著開發效率的最終效果。
拿個很簡單的例子來說,我很欣賞我的那位同事,在c++開發方面積累了不少經驗,更為重要的是他編寫程式的效率非常地高,乙個程式可能對別人需要大概三到四天才能完成,對他可能一天甚至更短即可做得很好。這除了他個人的能力之外,我想跟其良好的開發習慣不無關係。在跟其一起做事的過程中,筆者慢慢地體會到,在完成乙個大的程式時,他首先會確定該程式中的關鍵技術點,並評估這些關鍵技術點的實現難度及所需時間,然後會將這些技術點分層次實現,且每乙個關鍵技術點實現之後都可以單獨地使用,即在軟體的重用性方面很高,後面要做的工作,就是將這些細小的散裝零部件組裝起來。類似這樣的松耦合方式,大大降低了軟體的出錯機率,無形中提高了開發效率,提公升了可維護性,並由此降低了軟體開發的風險。
筆者發現,同事所養成的諸如上述的良好開發習慣,著實很值得筆者去學習、去領悟、去實踐。或許,通常開發應用或業務軟體,風險相對較小,因為已經有很多很好的東西值得借鑑,甚至有些可以直接拿過來使用。但是,當涉及到一些技術門檻較高的軟體開發時,抓關鍵技術點,並突破這些技術點,就顯得非常重要了。在軟體開發領域,類似專案推倒重來的事情常有發生,這其中除了專案所處的環境、人員、資源等方面的因素之外,無法在有限的時間內突破技術難點也是乙個非常重要的因素。
軟體評估,對軟體專案中關鍵技術難點的評估,頗顯重要。對於一名軟體開發人員而言,在編寫**之處,想法設法地突破技術難點是職責所在。當然,這並不是一成不變的。或許,有些技術難題並非我們想象的那樣簡單,多換個角度思考方能求得解決之道,而不能在一棵樹上吊死。
以上僅僅是個人愚見,筆者認為養成良好的開發習慣,抓關鍵技術點,分而治之,必定對軟體開發效率的提公升大有裨益。
敏捷開發的45個好習慣
高效程式設計師的45個習慣 敏捷開發修煉之道 翻了一遍,講的基本是敏捷開發的一些原則,雖然沒有煥然大悟的感覺,但定期來出來提醒自己一遍也不錯,這些道理雖然簡單易懂,但真正要在專案中實施起來還是很有挑戰性的,一些成功的專案總結經驗起來也無非出於這麼些簡單的原則 1.做事 2.欲速則不達 3.對事不對人...
10倍效率的程式設計師有哪些好習慣?
brad feld的一篇文章 the rise of developeronomics 中提到了 10倍效率的開發人員 10x developer 的概念 卓越的開發者的效率往往比一般的開發者高很多,而不只是一點點 adam loving 在讀了之後受到啟發,並向多位大牛 ben sharpe co...
職場辦公提高效率的幾個好習慣
如今隨著自動化的發展,工作效率在企業中顯得越來越重要,高效率的企業意味著高回報,所以不少人也會想法設法提高自己的工作效率。工作中我們都在極力追尋高效率的工作,高效率就是最短的時間內高質量的完成工作量,時間就是金錢,時間就是生命。作為一家網際網路公司,時間效率也是我們所追從的。優秀的員工不管在哪個公司...