在項目開發(fā)的過程中,經(jīng)常會遇到市場人員急命的催,開發(fā)人員玩命的寫,但還是趕不上進度,每個人都感覺很累,卻沒有太大效果。 怎么辦呢?我想這種情況是可以避免的,退一步說,起碼應該不會像這個樣子。這里總結(jié)一下自己的一些心得和體會:
1.經(jīng)常總結(jié)完成模塊中共性的代碼,封裝成方法或組件,方便以后調(diào)用。
比如,數(shù)據(jù)訪問,XML配置操作,分頁控件,數(shù)據(jù)校驗,加密等等我都總結(jié)成一個個獨立的模塊或組件,使用的時候拿來調(diào)用行了,為項目爭取了很多時間,也留出更多的時間來想業(yè)務(wù)邏輯的處理。
2.復雜業(yè)務(wù)簡單化
對一些復雜的業(yè)務(wù)系統(tǒng),可以通過抽象的方式,來簡單化,把復雜的問題抽象成簡單的模型,變成人們?nèi)菀桌斫獾臉I(yè)務(wù)模型。能用簡單的方式解決的問題我們?yōu)槭裁匆愕哪敲磸碗s。我們開發(fā)軟件是來解決問題的,不是來做秀的。
3.代碼簡潔,通讀易懂。特別對開發(fā)很是重要。
我不知道有些怎么了,個人英雄主義很重,總是把代碼寫的稀奇古怪,這樣好像來表示自己的不同凡響,技術(shù)水平高。其實,我認為作為現(xiàn)在的團隊開發(fā),這樣會給企業(yè)帶來很大的隱患。同時我個人覺得這也不是一個好的編碼習慣,因為寫代碼也是人一種表達思想的方式,用少的話和精辟的詞表達出人們?nèi)菀桌斫獾膯栴}才是厲害的。像人穿衣服注意整潔一樣,再高貴的衣服,如果不注意整潔,給人的感覺一樣很糟糕的。
4.注意高內(nèi)聚和低耦合。
減少模塊間的耦合度,抽離出通用的模塊,每個模塊像一塊積木。這樣做一個系統(tǒng)時,如果能充分利用這些,會起到事半功倍的效果。省時省力。我總結(jié)的角色權(quán)限管理摸塊是這樣,用到了很多項目,也確實為我節(jié)省了不少時間,也可以說為公司創(chuàng)造了不少效益。
5.做好架構(gòu)設(shè)計。
好的架構(gòu)會給開發(fā)人員一個明確的導向,且不會讓程序員作太多的無用功和重復勞動和返工。并且好的可擴展性設(shè)計會對項目善變的需求有好的應對能力。
6.采用OOP,分層開發(fā)等經(jīng)典的開發(fā)模式,從一定程度上減少重復,增強擴展性。
7.盡量采用成熟可靠的技術(shù)。
這句話我想有兩種理解,
一:采用合適的技術(shù),而不是選擇“先進”的。不能因為“用技術(shù)”而“用技術(shù)”。它給項目帶來的后果是不可估量的,也是很大的,以至甚至延期等等。當然學習好它還是很好的,但是在做商業(yè)應用方面還要考慮好。
二:去用那些已經(jīng)存在的成熟的模式或代碼,不要自己再去“造車”了。一來縮短開發(fā)周期,二來降低風險。所以,我們平常開發(fā)時,還是要有一定的“拿來主義”,這沒什么不好的,相反,應該是一個明智的選擇。 [Syue.com]
8.學會改變世界。
寫了很久的程序,養(yǎng)成一個習慣,是堅持用盡量少的代碼實現(xiàn)盡量多的事情,所以一般能共用的代碼,我寫成共用的,這樣基本上減少了不少的代碼量。另外,通過一定的抽象過程,本人已經(jīng)總結(jié)出一定規(guī)律,并成功的開發(fā)出一個.Net()代碼自動生成器工具,基本上我嘗試了一下,一個有二十幾個表的系統(tǒng),二十分鐘內(nèi),我完成了三層架構(gòu)的構(gòu)建,生成了80%的代碼,這個過程如果純手工的話,我覺得效率高的也要一兩周吧。人類的進步是從使用工具開始的,我們要進步也比須制造工具來替代人工,改變世界,其實我們的生活可以很精彩。