從另一個考慮來看程式碼的風格 (轉)

gugu99發表於2008-08-05
從另一個考慮來看程式碼的風格 (轉)[@more@] 

從另一個考慮來看程式碼的風格:namespace prefix = o ns = "urn:schemas--com::office" />


相信大家對程式碼的風格都有自己的觀點,都有自己的風格。但大家心目中最完美的一定是簡潔,易讀,高的。


但有時效率和簡潔性、可讀性是不可兼顧的。這就要看開發的目的是什麼了。對時間要求不高的當然要注重簡潔和可讀性,而另一些要求速度快,或體積小的則可能更強調效率。


我想現今隨著器的飛速發展程式的體積越來越顯得不重要了。記得當年我在大一時所用的計算機只有512KB那時寫程式優勢是要注重空間效率的,也很小,還是在一個工具下才實現800KB的空間,在我心裡不知感謝過多少回那個共的作者,有時候為了節省記憶體不得不把一些東西搬運到磁碟上,等到使用時再裝進記憶體。打傘使用的計算機是4MB記憶體的,第一次使用保護時,開闢了一塊2MB的記憶體空間,我真是激動的老淚橫流,而現今128MB記憶體滿天飛。256MB也很多。我的一個朋友配了768MB記憶體還說要再添。感覺容量也飛速增長。30、40G的隨處可見。光碟6、7百MB的空間也夠折騰得了。所以今天程式碼的空間效率日漸不很重要了。


 而的發展給我們帶入了GHz時代,使我們有了全新的感受。另一方面處理器的發展已遠遠超出了軟體的發展速度。時間效率也顯得不是很重要了,當然不向空間效率重要性下降的那麼明顯(在有些時候時間效率還是很重要的,如多,等等)。


現如今軟體的複雜性使得軟體通常都由多人開發才能完成。而多人開發的配合問題就擺在了我們的面前。說白了多人開發的配合問題主要就是程式碼的可讀性問題。例如以下兩段程式碼:


1)


var


  r:integer;


begin


  r:=(strtoint(edit1.text)+strtoint(edit2.text))*strtoint(edit3.text);


end;


2)


var


  r,a1,a2,a3:integer;


begin


  a1:=strtoint(edit1.text);


a2:=strtoint(edit2.text);


a3:=strtoint(edit3.text);


r:=(a1+a2)*a3;


end;


那個更容易理解呢?更直白呢?


當然是第二個。


再例如


1)


dim a1 as long


a1=text1.text


dim a2 as long


a2=text2.text


dim a3 as long


a3=text3.text


dim r as long


r=(a1+a2)*a3


2)


dim r as long, a1 as long, a2 as long, a3 as long


a1=text1.text


a2=text2.text


a3=text3.text


r=(a1+a2)*a3


那個更好呢?


之所以說Pascal語言很美就是體現在你必須按照比較規範的方式來寫程式碼。在哪裡宣告,哪裡定義,過程都要按部就班的來。不是說其他語言辦不到,而是其他語言要求鬆一些罷了。


程式碼的得風格中可讀性是十分重要的,不要自己耍小聰明。玩弄了一些花招技巧這是的大忌。記得當時在大學時代有的同學用TC寫程式時往往是過了半年連自己都看不懂了,還要問別人。所以我們在寫程式碼時除非是有特殊要求否則要儘量按照這個順序來自己的程式碼,可讀性、時間效率、空間效率。


以上僅是個人觀點,望各位都能指點一二。共同為我們心中完美的程式碼風格而努力。


 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1008540/,如需轉載,請註明出處,否則將追究法律責任。

相關文章