另外在CSDN上發(fā)文章也算是一種冒險,還好我上回發(fā)的文章沒使我的‘冒險精神’受到挫折,反而增加了一些,所以這回斗膽再發(fā)一篇,愿真主保佑我。
正文:
這幾個月來獨自一人開發(fā)一個多層進銷存軟件,以前從沒搞過類似開發(fā),甚至沒有獨自設(shè)計開發(fā)做過一個太像樣的系統(tǒng),這幾個月來的努力除了為達到一些具有功利的目的外,對我個人更重要的意義就是做為一個軟件開發(fā)人員,能夠獨立的從分析設(shè)計到編碼來完成一整套系統(tǒng)的開發(fā),也算是在職業(yè)技能上的一個很重要的里程碑,也是一個挑戰(zhàn)。還好,現(xiàn)在軟件的大部分重要的工作已經(jīng)完成,在這幾個月中除了在編程上有些提高外,另外也悟到很多‘道理’,個人感覺在不斷探索中能在專業(yè)技術(shù)上領(lǐng)悟到一些東西,對于提高專業(yè)水平比起一些具體的編程技術(shù)來說重要的多了。具體領(lǐng)悟到了哪些有用的東西,我看就只能是只可意會不可言傳了^_^,所以說有時自學(xué)成的比老師教的要好,也就是這個道理了。
下面是總結(jié)的一點(你可能認(rèn)為理所應(yīng)當(dāng)?shù)€是會知法犯法)的經(jīng)驗:
1 開發(fā)軟件要用熟悉編程工具和語言,特別是在有時間規(guī)定或是不想花過多時間的情況下一定要這樣做。不能用一些時尚的但還不熟悉或是本身不成熟的技術(shù)來開發(fā)。
2 不能急于編碼,在這之前多花時間進行分析思考到最后完成工作,其實這樣會相對更省時間。
3 不要受一些‘先進思想或工具干擾’搞形式主義,如果可能的話按照自已以往的習(xí)慣進行開發(fā),最合適的方法才是最好的方法,最合適的工具才是最好的工具。
4 但要注意在可能的情況下有分寸的常識新技術(shù)新工具,或新的思路,但前題是保證軟件質(zhì)量和開發(fā)進度。
5 這也是我體會最深的一條:年輕’絕對不是‘經(jīng)驗’的對手。(btw:我是新手且年輕)對某項技術(shù)沒有經(jīng)驗,往往會費更多的時間來學(xué)習(xí)如果正確使用這種技術(shù),可能有經(jīng)驗的老手1小時能完成的工作,沒有經(jīng)驗的新手有可能花2小時或是1白天時間。所以就算程序員很老,老到1天只有精歷工作3,4個小時,那么按照上面的推論年輕的程序員仍然可能沒有能力超過老程序員。所以經(jīng)驗還是最重要的。另外對于學(xué)習(xí)新技術(shù)而言,應(yīng)該也是經(jīng)驗最重要,因為‘溫故而知新’,新技術(shù)往往是由舊技術(shù)演化而來,老手根據(jù)已掌握的舊技術(shù)花1小時間就能學(xué)會的新技術(shù),那么新手可能要花更多時間。當(dāng)然除非老手放棄不學(xué)也不做。
6 最后再去問‘人’。單獨開發(fā)身邊根本沒人可問,就算團隊開發(fā)別人也不是你的專職顧問,偶而問問叫做加強溝通,別人也有工作要做,問多了就不見得是好事了。所以充分利用網(wǎng)上資源,到相關(guān)技術(shù)論壇提問或查找,應(yīng)該是最優(yōu)先的辦法。
7 論壇提問要引人注目,不然沒人理你。所謂引人注目到不見得一定是寫個嚇人的標(biāo)題,還在于問法,發(fā)問粘子寫長了人家看起來會煩,寫少了不明確,所以要找關(guān)鍵的寫,費話少說,語氣謙虛,OK絕對有人會回答你。
8 ‘自動’的有時真的不如‘人工的’。有些‘自動化’的技術(shù)看DEMO挺好,但用于復(fù)雜的實際情況,往往還不如自已‘人工’完成,這樣自已的控制權(quán)更多,出問題時的可控性更強。
9 設(shè)計以及編程時隨時想著留后路(擴展性)。再好的設(shè)計將來難免會有變動,編碼也一樣,所以實現(xiàn)時要權(quán)衡這些變動因素。
10 軟件是有可能消失的!所以--備份!備份!再備份!并且要檢查你的備份是否能真的能恢復(fù)原狀!并且還要不只有一份備份!!并且最后還要保證你的這些備份存在于不同的物理介質(zhì)上!!
大約1個月后完成這個軟件第一個版本后,因為需要可能會找別人合作開發(fā)一個B/S結(jié)構(gòu)的版本。其實個人對B/S并不十分有好感,但根據(jù)我和一些軟件銷售人員的接觸,‘市面’上B/S的明顯比窗口的要好買。沒辦法,還好有Asp.net不用再去碰Asp了,不然用Asp做應(yīng)用系統(tǒng)簡直就是一種‘亂倫’(按照技術(shù)上的特點來說這個比喻其實一點也不過份就像算說國內(nèi)計算機教育是XXX一樣,其實一點也不過份,而且從所周知)。這個軟件完成時會發(fā)到CSDN上Share的。然后找機會嘗試‘團隊開發(fā)’到時再來點合作開發(fā)經(jīng)驗總結(jié)吧^_^