當問及很多人為什么選擇.net方向時,他們經(jīng)?;卮?,因為聽老師說過,當你在開發(fā)語言和工具方面不知道怎么選擇的時候,只要跟著微軟走就行了。所以最終他選擇了.net。當經(jīng)歷過數(shù)年之后,一些人在.net的某方面成為了專家,有些人精通數(shù)據(jù)庫方面,有些人精通web界面設計,有些人精通系統(tǒng)架構(gòu)。當然,有些人,他們選擇了java,在若干年之后,他們說:java程序系統(tǒng)比.net系統(tǒng)更穩(wěn)定之類。這是個人對某類技術(shù)的偏愛,我們暫不討論。
那么準備加入.Net陣營的程序員們該如何成長呢?下面就給大家一些建議。
1、要堅持你的研究方向
對.net好還是java好的問題,我一向的觀點是:它們都好,它們都是軟件開發(fā)領域的杰出工具,它們都能夠做出非常出色的系統(tǒng)。評價一個系統(tǒng)好與不好的標準不在于開發(fā)語言,而在于系統(tǒng)本身,更多地在于這個系統(tǒng)的開發(fā)者-程序員本身。只要你是一個出色的程序員,你完全可以用你精通的開發(fā)語言開發(fā)出高質(zhì)量的系統(tǒng),而不管這種開發(fā)語言是.net還是java。而如果你過度地徘徊在研究它們到底誰更好的時候,甚至不斷地在二者之間猶豫的時候,你損失的將是寶貴的時間。
2、找到恰當?shù)娜腴T途徑
不管做什么事,方法很重要。特別是入門時的方法。正確的入門方法將大大加快你學習的進度。了解語言本身和前提技術(shù)是最先要做的事情,比如你選擇c#方向的asp.net,那么你必須先學習c#基礎語法,和asp.net基礎知識,并實際寫小程序測試你學習的成果。當學會基本語法后馬上找到asp.net的官方入門指導。微軟做得很好的一個地方就是他的幫助系統(tǒng)做得很好。新人容易入門,建議首先從《示例和快速入門教程》開始,這個東西就在在Framework SDK的菜單里面。強烈建議把這個教程全部學會。
3、盡量縮小研究范圍
.net只是一個大方向,你應盡量將自己的研究范圍縮小,比如專注于數(shù)據(jù)庫,專注于xml方面,專注于ajax,只要你專注任何一個區(qū)域深入研究,當你成為專家之后,都不會愁飯吃。反之如果你什么都會,而沒有一樣真正精通,那么你可能永遠只能做一個普通程序員。
4、不斷推翻自己,敢于重構(gòu)
這是對程序質(zhì)量的要求,我認為只有不斷地優(yōu)化和改造自己的程序代碼,才能最終寫出高質(zhì)量的程序,做出高質(zhì)量的系統(tǒng),最終使自己的技術(shù)水平提高。通常我會把實現(xiàn)一個功能的代碼量作為衡量代碼質(zhì)量的標準,代碼越少,越精簡,同時又具有良好的可讀性,就越理想。重構(gòu)需要幾個前提:首先是項目時間允許,然后是確實找到更好的代碼組織邏輯,如一種很好的結(jié)構(gòu)模式,更合理的面向?qū)ο笳{(diào)用方式等等。只要找到更好的解決辦法,那么勇敢地推翻原來的程序框架,重構(gòu)它,經(jīng)過不斷地重構(gòu)后,有一天你回過頭去看之前自己寫的程序時會有一個感嘆:哇,怎么以前我的程序?qū)懙倪@么差啊。
5、多看別人的成果(源代碼)
這個很重要,如果你是一個團隊的新成員,那么看他們寫好的代碼將是非常好的學習途徑,因為那些都是成功的代碼經(jīng)驗。如果你還沒有加入團隊,是自學,那么找一個好的學習網(wǎng)站,多看上面的源代碼也是很好的方式。另外一個強烈推薦的途徑:仔細研究微軟的.net Starter Kit,個人認為這是.net入門學習途中最大的收獲。
6、敢于接受新項目挑戰(zhàn),勇于嘗試
主動承擔公司的開發(fā)任務,敢于在項目中嘗試你最新的研究成果將對你自身技術(shù)水平提高帶來非常大的幫助。記得當初我在做一個建站平臺項目時有過這樣的經(jīng)歷,之前公司開發(fā)的項目大都在原有技術(shù)積累下面用成型的框架做開發(fā),那時我也正在學習asp.net,不過那個項目我是主程序員,因此在開發(fā)上有很大自主性。于是1.0時我嘗試將所有用戶文章保存在web服務器的xml文件里,而不是像傳統(tǒng)項目那樣保存在數(shù)據(jù)庫里,以希望減少web服務器和db服務器之間的數(shù)據(jù)傳輸。結(jié)果1.0系統(tǒng)實際運行時確實達到了我的目的,雖然隨著數(shù)據(jù)量的大量增加,最終導致了IO瓶頸。但通過后來對IO瓶頸的優(yōu)化解決,我在文件系統(tǒng)、服務器進程、xml應用、代碼規(guī)范和性能優(yōu)化等方面學到了很多東西,倘若當初按原來的模式寫程序,將錯過學習這些知識的很好機會。
7、跟上技術(shù)更新的腳步
軟件技術(shù)更新速度有時真的讓人很郁悶,經(jīng)常聽人說,剛學會.net1.0,馬上就出了1.1,1.1剛完成一兩個項目,又出了2.0,用2.0不到一年已經(jīng)出了3.5,但現(xiàn)實就是這樣,你必須得跟上腳步,當使用asp.net的時候,你就不能再像以前用asp那樣去寫程序,當使用.net2.0的時候,你要敢于使用masterpage,skin去代替原來的usercontrol模式,原來的網(wǎng)站皮膚實現(xiàn)模式。而現(xiàn)在出3.5了,你必須馬上學習vs2008,學習Silverlight。只有跟得上技術(shù)更新的步伐,你才永