新聞中心
從事編程工作這么多年,經(jīng)常會(huì)有人問我什么樣的程序是好程序,有的甚至把程序給我看,讓我給程序提提意見。而我從編程開始就踏上尋覓好程序之路?!奥仿湫捱h(yuǎn)兮 吾將上下而求索?!边@好象正是我心歷的寫照??梢哉f追求編寫好程序是我不變的目標(biāo)。

好的程序?好的程序?什么樣程序是好的?為什么這樣程序是好的?中國人從小就被“好壞”教育。面對任何事物,他們都能給評(píng)出好壞來。評(píng)出結(jié)果出來,無非讓復(fù)雜事物簡單化,讓人在***時(shí)間能判別這件事好不好,這件事能不能做,好的就給與支持和贊美,好的就想去做就想做好。反之。我就不說了。
但是,好壞兩個(gè)字好寫,但是事物好壞的理由和標(biāo)準(zhǔn)卻是絕對的復(fù)雜,有時(shí)甚至絕對的對立。從某種意義上來說,人類就是在事物的好壞上不斷爭斗中延續(xù)著自己。
“白日依山盡,黃河入海流,欲窮千里目,更上一層樓?!蔽覀儚男〉酱?,經(jīng)歷過無數(shù)次教育,讀過不知道多少本的書,看過不知道多少篇文章,能夠記憶出來的,能夠背誦出來的,能夠打動(dòng)自己心扉的,那就是詩了。
詩成了生活的濃縮、提煉和升華。而詩人則成為歷代百姓文人追捧的對象。雖然現(xiàn)代詩處于動(dòng)蕩和衰敗過程之中,但是經(jīng)過歷史長河沉淀下來的名詩依然膾炙人口,讓人永生難忘,幾乎找不到一個(gè)連一句詩都不會(huì)說的人,可見詩的魅力無窮。
編寫程序如同寫文章,有的人會(huì)寫成報(bào)告,有的人會(huì)寫成小說,有的人會(huì)寫成雜文,文體不限各顯神通。但是我以為,好的程序如同一首詩,讀起來行云流水,韻味十足。詩中或工整對仗,或錯(cuò)落有致,或排比擬人,或比喻夸張?jiān)诔绦蛑幸材鼙憩F(xiàn)出來。
程序和詩歌都有內(nèi)容和形式兩個(gè)部分。內(nèi)容是本質(zhì),反應(yīng)了程序的功能,反應(yīng)了程序的設(shè)計(jì)水平。形式是表現(xiàn),反應(yīng)了內(nèi)容表述。好的程序應(yīng)該象一首詩,有好的內(nèi)容,有好的表現(xiàn)形式。我發(fā)現(xiàn)好程序和好詩歌一樣都有一些要素,這些兩者要素有相當(dāng)?shù)墓餐c(diǎn):其要注意如下:
***要素是要有邏輯。
程序的邏輯從大的方面來說是反映了程序的結(jié)構(gòu),結(jié)構(gòu)清晰明了,才能引人入勝!例如,有詩的格律,如五言、七律等,詩歌只能按照格式填寫,詩的格律就是詩的邏輯構(gòu)架。程序的邏輯結(jié)構(gòu)往往體現(xiàn)在時(shí)序上,例如:初始化處理、功能處理、結(jié)束處理。如此設(shè)計(jì)將使得程序更顯邏輯。從小的方面來時(shí)是反映程序構(gòu)架下的流程,流程次序井然、前接后續(xù),才能使得程序執(zhí)行順暢。
第二要素是用詞。
程序的用詞一方面是指各種變量的命名方式,另一方面是函數(shù)命名的方式。程序的用詞應(yīng)該用英語,變量命名和函數(shù)命名其英文單詞無論是用縮寫還是全寫都要符合大眾的讀者的習(xí)慣,避免用生詞、偏詞、自造詞。我們看到古今中外的名詩大都是用通俗易懂的詞匯進(jìn)行藝術(shù)組合而形成的。很少有非常用字出現(xiàn)。編程中要特別注意函數(shù)名中的主謂賓搭配,讓讀者讀起來更加上口。
第三個(gè)要素是短小。
編程如同編寫文章,好的文章如歌如詩,其特點(diǎn)就是短小,一般的五言、七絕只有四行就能包含一個(gè)很深刻的主題了。編寫程序也是相同的道理,要盡量讓程序的行數(shù)減少。一方面要考慮在總的程序行數(shù)減少,另一方面要增加函數(shù),使得函數(shù)里的語句行數(shù)減少。
第四個(gè)要素是精煉。
一首好詩能在幾句話中就激發(fā)讀者的情緒、鼓舞讀者的斗志、展示大自然的美景,揭示各種人生哲理。其中主要原因是詩人的能用精煉的詞匯來表達(dá)詩的內(nèi)容。對于編程來說,精煉就是多用函數(shù),多用系統(tǒng)函數(shù),讓各種功能都濃縮在函數(shù)之中。
第五個(gè)要素是一致。
一首好詩往往能讀到排比、讀到對仗這樣的修辭手法。說到底者都是詩歌的一致性的要求。編寫好的程序同樣要注意一致性的要求,例如,我們盡可能采用相同的語句結(jié)構(gòu)、相同的語句的縮進(jìn)、相同的命名規(guī)則、相同的動(dòng)詞、相同長度的語句、相同計(jì)數(shù)變量、相同緩沖區(qū)變量、相同的處理函數(shù)、相同的處理流程等等。這些相同使得程序各個(gè)層次和各個(gè)方面看上去非常規(guī)范和一致。
當(dāng)我們能用寫詩的要求去編寫程序,當(dāng)我們能用詩朗誦的感覺去閱讀程序,我們的程序員將不再機(jī)械地編寫那毫無生命的代碼,我們的程序員將充滿激情譜寫出一曲動(dòng)人的樂章,感動(dòng)著自己,也感動(dòng)著讀者。每一個(gè)代碼充滿著活力,是跳躍的藝術(shù)音符,無數(shù)個(gè)代碼的組成卻是流淌的詩,一段一段,一行一行,給人以詩的享受。
我們可能永遠(yuǎn)不能寫出傳世之詩,我們卻能夠要求自己編寫如詩的程序,享受那種寫詩的過程和情趣。 不斷地追求詩的境界將會(huì)讓我們的程序更加精煉、編程工作更加美好。
【編輯推薦】
- 如何使用搜索技巧來成為一名高效的程序員
- 程序員應(yīng)知 循序漸進(jìn)
- 讓你的程序輕盈起來
- 同是80后程序員 為什么差距卻如此大
- C/C++是程序員必須掌握的語言嗎?
本文題目:如何寫漂亮的程序
URL網(wǎng)址:http://m.fisionsoft.com.cn/article/dhioeho.html


咨詢
建站咨詢
