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