初級的程序員或經(jīng)驗(yàn)不足的程序員往往只意識到自己的程序是寫給計算機(jī)的,而不會在意程序其實(shí)也是寫給人的,或在意得不夠、不全面。
寫給機(jī)器的程序,往往追求的是運(yùn)行正確、執(zhí)行效率能滿足要求。但程序員的任務(wù)僅僅就是把業(yè)務(wù)邏輯轉(zhuǎn)成機(jī)器能編譯的計算機(jī)語言嗎?
其實(shí),程序首先(注意,是首先)是寫給人的。第一,程序是寫給看代碼的人的。第二,程序是寫給用程序的人的。了解這一點(diǎn),才能理解寫程序?yàn)槭裁匆写a規(guī)范,為什么要有各種文檔,為什么寫子程序時要命好名,為什么要分層,為什么要學(xué)設(shè)計模式,為什么要寫測試用例,為什么要推敲按鈕的擺放,為什么要按XHTML標(biāo)準(zhǔn)寫Web界面,為什么要用AJAX … …理解了這一點(diǎn),才能更好的做好上面種種事情。
誰都在說“細(xì)節(jié)決定成敗”,誰都知道要注意細(xì)節(jié)。為什么大家都在講細(xì)節(jié),有的人能通過細(xì)節(jié)打敗對手,有的人連細(xì)節(jié)在哪一方都不知道,這就是水平的高低所在。我們要有心理準(zhǔn)備:細(xì)節(jié)不是喊一聲就會出現(xiàn)在你面前的。感知到細(xì)節(jié),這是一個需要不斷學(xué)習(xí)和實(shí)踐,甚至有人指導(dǎo)的過程。這個過程有長有短,要看個人的學(xué)習(xí)能力,領(lǐng)悟能力。但最起碼,我們首先要有一個方向。找程序的細(xì)節(jié),方向就是“為人寫程序”,在你做設(shè)計,寫代碼,擺弄界面的時候,心里時刻記住這一點(diǎn),幾個項(xiàng)目下來,你自然能看到很多細(xì)節(jié)了。
“內(nèi)外兼修”
武俠電影里的高手,往往都是通過奇門心法,內(nèi)力陡增而成為高手的。但我們做程序的,要成為高手,“內(nèi)外兼修”才能事半功倍。內(nèi),指的是需求把握,設(shè)計思想,設(shè)計模式等。外,指的是寫代碼時的規(guī)范,做界面時的嚴(yán)謹(jǐn)?shù)取?/p>
看武俠看多了的我們,偏內(nèi)輕外的特點(diǎn)是很明顯的。看看書店里寫設(shè)計模式主題的書籍和指導(dǎo)代碼規(guī)范的書籍的數(shù)量和銷量對比就是一個很好的證明。但是就算設(shè)計模式一套一套,但寫的類卻給人看半天也看不出思路的話,一兩年之后,你仍將陷入一個個泥潭中。
再舉個例子,有的人自稱ASP.NET程序員,而且他寫出來的后臺代碼也層次清晰,條理清楚,但是做出來的界面,結(jié)構(gòu)與表現(xiàn)混雜,一大堆IDE自動生成的垃圾代碼充斥其中,該用單選框的用文本框,按鈕放在誰都想不到的地方,不該用戶操作的要用戶操作,一步可操作完的搞成幾步也不能完成操作……很顯然,他不可能做出成功的產(chǎn)品。也許他也知道界面要合理,但是就是因?yàn)樗恍尥夤ΓJ(rèn)為我是搞.NET這種先進(jìn)技術(shù)的,去補(bǔ)習(xí)什么HTML、javascript、CSS不是自貶身價嗎?其實(shí),認(rèn)真研究過HTML、JavaScript這些技術(shù)的人都會體味到,運(yùn)用這些技術(shù)比流行的.NET、Java更有挑戰(zhàn)性,而且你獲得直接操作用戶界面元素的能力后,以前那種做界面效果、接口功能時有心無力的情形將一去不返,這是很痛決的!
如何學(xué)習(xí)ASP.NET
要成為一個優(yōu)秀的ASP.NET程序員,不僅要掌握.NET框架,理解ASP.NET的原理,而且要對DHTML架輕就熟,甚至對各種瀏覽器之間的差異也要有所了解,所以做ASP.NET程序員是一件很有挑戰(zhàn)的工作。那么如何學(xué)習(xí)ASP.NET,并最終成為優(yōu)秀的ASP.NET程序員呢?
我認(rèn)為可以分為兩個步驟來走:首先,熟悉ASP.NET各種標(biāo)準(zhǔn)控件的用法,了解ASP.NET工作原理。接著,朝“內(nèi)”和“外”兩個方向擴(kuò)展自己的知識和技能。
在Visual Studio .NET這樣優(yōu)秀的IDE幫助下,我們使用各種ASP.NET控件,掌握ASP.NET基本的工作原理應(yīng)該是比較容易的。如能輔以幾個簡單的項(xiàng)目練習(xí)一下比較復(fù)雜的DataGrid、DataList等數(shù)據(jù)綁定控件的話,基本掌握ASP.NET是應(yīng)該沒有多大問題的。
之后,我們就可以朝兩個進(jìn)階方向前進(jìn)了?!靶迌?nèi)”的話,深刻理解面向?qū)ο蟮?a href="http://www.wenjunhu.com/v/tag/1315/" target="_blank">編程思想是必修的,然后是各種的B/S框架的模式(比如MVC)的理解,最后是設(shè)計模式等等軟件工程的概念和技術(shù)?!靶尥狻眲t更重實(shí)踐。首先,做項(xiàng)目時注意把一些可以實(shí)現(xiàn)在客戶端的邏輯用DHTML在客戶端實(shí)現(xiàn)出來,以此掌握結(jié)合服務(wù)端、客戶端技術(shù)的方法,加深對HTML的DOM對象的理解,熟練常用的JavaScript技巧。進(jìn)而練習(xí)對Web界面的結(jié)構(gòu)、數(shù)據(jù)、表現(xiàn)三者進(jìn)行分離的規(guī)劃、設(shè)計與實(shí)現(xiàn)。
如此看來,學(xué)習(xí)ASP.NET也并不是一件很難的事情,注意“為人寫程序”,“內(nèi)外兼修”,自然就能做出合格的應(yīng)用程序。
-
Asp.net
+關(guān)注
關(guān)注
0文章
36瀏覽量
13865 -
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29825
發(fā)布評論請先 登錄
相關(guān)推薦
評論