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