代码规范性与品质问题~
2001年在delphibbs做“首屆Delphi編程競(jìng)賽”活動(dòng)(http://www.delphibbs.com/delphibbs/dispq.asp?lid=650664)的時(shí)候,曾就代碼的規(guī)范性與品質(zhì)問題與大家進(jìn)行過討論,摘錄一些言論如下:
=========================
3. 我們公司有個(gè)程序員,現(xiàn)在是項(xiàng)目經(jīng)理。他原本是做圖形程序開發(fā)的,我看過它的一個(gè)工具的代碼,OHHHH,我當(dāng)時(shí)差點(diǎn)沒有昏倒。——它的代碼做得就象方塊,每一行幾乎都一個(gè)樣子,似乎都在不斷重復(fù)。但是,這些代碼的運(yùn)行效率居然比我見到的所有圖形開發(fā)包都快!
所以,我絕對(duì)同意“一個(gè)真正優(yōu)秀的方案可能代碼很多,很精巧,也很復(fù)雜,但絕對(duì)在效率、速度上非普通方案可比”、“大道深處又至簡,一個(gè)非常出色的方案往往可以化復(fù)雜為簡單,化腐朽為神奇,達(dá)到代碼即方案,代碼即解釋,恍恍乎游刃有余”和“最出色的代碼不是代碼本身,而是代碼體現(xiàn)出來的出神入化的思維和境界。到達(dá)這個(gè)境界,代碼多少已經(jīng)不再重要了”這樣的觀點(diǎn)。
4. 代碼的規(guī)范性我深有體會(huì)。我們公司現(xiàn)在正在展開的也是一個(gè)叫“代碼格式化規(guī)范”的動(dòng)作。
但我要說的是一個(gè)小故事,我的一個(gè)組員總是在說我的代碼他看不懂,這看不懂那也看不懂;而另一個(gè)組員呢,將我一個(gè)寫了兩年的項(xiàng)目那個(gè)去看了一個(gè)多月,說懂了。前一個(gè)組員總是說我的代碼不“規(guī)范”,不“格式化”,用了太多的技巧,不用標(biāo)準(zhǔn)的寫法;而后一個(gè)組員卻什么也不說。兩個(gè)組員最大的不同是:前一個(gè)組員只有兩年的編程經(jīng)驗(yàn),而后一個(gè),有十年的編程經(jīng)驗(yàn)。
如果,如果你用Delphi來寫一個(gè)“操作系統(tǒng)級(jí)程序”,那么,你能用到的“標(biāo)準(zhǔn)的寫法”可能沒幾個(gè),你可能必須用各種各樣的技巧,各種各樣離奇的思想。這不是一般人能夠想到的做到的。有興趣的人可以去看看QString這個(gè)字符串處理單元,那絕對(duì)是不好讀的代碼,也絕對(duì)精煉,效率也絕對(duì)高。但可能絕對(duì)“不標(biāo)準(zhǔn)”、“不規(guī)范”。
我并不是反對(duì)“代碼格式化”,我只是說,我們?cè)谶@里開展一個(gè)競(jìng)賽,重點(diǎn)并不是要去格式化代碼,我們的主旨是“寫出好的思想”和“好的代碼”。那些格式化中存在的各種各樣的注釋和格式化用的空格,自然有工具去過濾掉它,你不必關(guān)心它們影響你的代碼字節(jié)數(shù)。
5. 這個(gè)競(jìng)賽的確是在“鼓勵(lì)提高個(gè)人能力”,但絕對(duì)沒有“忽視團(tuán)隊(duì)精神”的意思。哈哈。
我們一直忽略了這點(diǎn),沒有提出來說,算是我的工作失誤。其實(shí)中國現(xiàn)在的“程序高手”很多,但真正懂得“軟件工作”和組織“團(tuán)隊(duì)開發(fā)”的人才之又少。事實(shí)上我現(xiàn)在也正在學(xué)這個(gè),正在帶開發(fā)組,正在從最小的“團(tuán)隊(duì)”做起。——我自認(rèn)還做得非常非常差。印度培養(yǎng)出來的程序員象一個(gè)個(gè)標(biāo)準(zhǔn)大小的方塊,任意多塊放在任意位置都是有用的,但缺乏靈魂;中國培養(yǎng)出來的程序員象一個(gè)個(gè)釘子,放哪里打都好用,靈氣十足,能力十足,但一大堆釘子放在一起,你的手碰都不敢碰一下。
但中國的程序員在國外卻是極好的。因?yàn)槿思叶萌绾谓M織釘子開發(fā),而不是只懂得如何將方塊“積木”在一起。
不要因?yàn)橹袊鴽]有好的項(xiàng)目管理人員,就要求所有的程序員全變成方塊,這是舍本而逐末的事。
6. 好的雕刻師必須先是好的木匠,藝人必須先是匠人。
=========================
最后這句“藝人必須先是匠人”,我后來還在《Delphi實(shí)現(xiàn)可執(zhí)行文件之源碼詳解》中引用過:
=========================
必先是匠人,之后才會(huì)是藝人,再之后才會(huì)是藝術(shù)家。程序員就是程序員,如果不靜下心來做代碼,好高騖遠(yuǎn)則終將一無所成。
志存高遠(yuǎn)而腳踏實(shí)地,此實(shí)地者,源碼也。
轉(zhuǎn)載于:https://www.cnblogs.com/java0818/archive/2005/12/04/2144594.html
總結(jié)
以上是生活随笔為你收集整理的代码规范性与品质问题~的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果手机5多少钱啊?
- 下一篇: 转贴:雅虎公司C#笔试题,看看你能解答多