- 相關(guān)推薦
程序越長水平越高嗎
很多年前我剛拿到駕照不久,到了農(nóng)村的叔叔家,請他把他的小車給我開一下,
程序越長水平越高嗎
。他問我會開嗎?我說我有駕照。他又問我開了多少公里?我回答找了兩次陪駕大概500公里吧。他對我說,那你還不會開車,你只有開了5000公里后,才能說你會開。我當(dāng)時很不服氣,心里想為什么要開到5000公里才算會開車呀!難道開了1000公里、2000公里就不算開車了嗎?直到多年后,我才切身體會到他講的是對的,開了5000公里才能遇到各種各樣的行車狀況,駕駛員才能懂得去面對和處理這些狀況。回到編程這個話題,程序員成長也是這樣。一般一個程序有個幾千行語句,有的甚至上萬行,一個項目所有的程序加起來有幾萬,十幾萬行語句也很平常。對于新程序員來說,要多編程序,盡量遇到編程中的各種問題,這樣程序員才能慢慢地成熟起來。編程慢慢地有了感覺,編程有了積累,編程有了可以利用重復(fù)語句,編程速度也大大加快了。建議新手找一些較長的程序作為范例,而且這個程序比較完整,具有實用價值,最好這個程序正在投入運行!這樣學(xué)起來看得見摸得著,容易進(jìn)入情況。我的經(jīng)驗告訴我,程序員在初期要大量地編寫程序,不要管編的好不好,先把編程語句的數(shù)量搞上去,水平自然而然就上去了。不編上上萬行語句,程序員是很難找到編程的感覺的。
當(dāng)程序員度過了最初的編程階段后,程序員就要轉(zhuǎn)變思想,慢慢地把程序的精練性放在重要的位置。我一直是把最短的程序看作我編程的目標(biāo),一個幾百行的程序那怕能省一行都是我要追求的,我絕不允許自己的程序中有一句廢話。早期我曾把自己程序拿出來放話,誰能省一行我就拜他為師。由此可見我對程序精練的追逐之瘋狂。
一次我的同事告訴我他讀了軟件公司的一個應(yīng)用程序大約有3-4千行語句。碰巧的是我也編了相同功能的程序,我只用了1000多行,他也讀了。他說同樣的功能為什么會相差這樣大呢?是程序長的水平高?還是程度短的水平高?
我的回答是:相同的功能因人不同而程序不同是很正常的,
資料共享平臺
《程序越長水平越高嗎》(http://www.lotusphilosophies.com)。不同主要是由于對功能的理解、功能的算法、編寫習(xí)慣等方面不同所造成的。因此,程序可長可短。至于水平問題,那就涉及面就很多了,有程序的書寫方式和習(xí)慣、程序的可讀性、程序的邏輯結(jié)構(gòu)、功能算法、編程技巧、運行效率、參數(shù)化程度、程序復(fù)用程度等等多個方面。但是,有一點是可以肯定的,那就是相同功能編寫語句少的,水平相對比較高。當(dāng)然這個少至少占對比語句的10%以上。如果對比的兩個程序一個是100行,一個是104行,兩者相差僅4行,就很難在語句多少方面判別程序員之間的水平高低了。程序的精練除了反映在程序總的語句條數(shù)上,還反映在程序中的函數(shù)的長短上,尤其是在一個函數(shù)體內(nèi),其語句也是越短越好。我曾看到不少程序中一個函數(shù)能寫到幾百行,甚至上千行。這類程序員往往喜歡一氣呵成,把一個功能從頭到尾寫在一個函數(shù)之中。我認(rèn)為這絕對不是一個好的編程習(xí)慣和編程風(fēng)格,理想中的一個函數(shù)大約在20-30條語句是最好的。不少程序員熱衷于編寫越來越多的程序,放任自己編寫不必要的語句,從不注意程序的精練性。導(dǎo)致時間越長,程序員的水平越是沒有提高,F(xiàn)實中我們可以看到很多程序員開始的時候,感覺其進(jìn)步很快,但是幾年之后,你依然看到他每天努力地編程序、依然看到他每天都在不進(jìn)步。而有的程序員每隔半年一年,他們就會發(fā)現(xiàn)自己以前編寫的程序編的很差。這說明這個程序員始終在努力地提高自己的編程水平,而且具有程序水平的判別能力。一個好的程序員到了一定階段其編程數(shù)量是呈下降趨勢的。但是其程序質(zhì)量和水平卻是呈上升趨勢的。還是舉駕駛員的例子,當(dāng)駕駛員開滿了5000公里后,駕駛員會開車子了,但是會開車子并不意味駕駛員就能成為賽車手,成為賽車手需要其他的專業(yè)訓(xùn)練,才能又快又好完成行駛路程。
從總的方面來看,程序員尤其是新程序員編寫的程序越長越好,越多越好。但是,在具有一定編程積累后,程序員要學(xué)會編寫精練的程序,程序越短越好,程序的精練程度也是影響程序員水平高低的重要因數(shù)。精練的語句永遠(yuǎn)是程序員追求的目標(biāo),程序員可以寫長篇小說、可以寫短篇小說、但能寫出詩來才是最好的。
【程序越長水平越高嗎】相關(guān)文章:
越長大越幸福作文10-18
為什么你看不慣的人越爬越高08-07
如何提高英語的聽力水平07-15
有效溝通促進(jìn)績效水平提升09-14
員工離職的具體程序10-02
個人親子鑒定的程序10-19
辯論賽程序11-01
中行筆試程序08-19
戶口注銷的辦理程序07-07
說課的規(guī)范程序06-19