正在閱讀:論全世界所有程序員都會(huì)犯的錯(cuò)誤論全世界所有程序員都會(huì)犯的錯(cuò)誤

2005-09-02 10:02 出處: 作者:Java-cn 責(zé)任編輯:moningfeng

  當(dāng)年,某國際巨星的“龍種”曝光,眾人指責(zé)他對(duì)不起嬌妻,逼得他出面召開記者會(huì),向世人自白他犯了“全世界所有男人都會(huì)犯的錯(cuò)誤”。從來沒犯過這種錯(cuò)誤的我,也因此常常認(rèn)為自己不是個(gè)男人。

  雖然沒犯過“全世界所有男人都會(huì)犯的錯(cuò)誤”,但是我倒是曾經(jīng)犯了“全世界所有程序員都會(huì)犯的錯(cuò)誤”。不管使用何種語言,全世界所有程序員都一定犯過這種錯(cuò)誤,那就是:太依賴編譯器,卻不知道編譯器做了哪些事。

  一般來說,越高階的程序語言,會(huì)提供越多語法上的便利,以方便程序撰寫,這就俗稱為syntactic sugar,我稱其為“語法上的甜頭”。雖說是甜頭,但是如果你未能了解該語法的實(shí)質(zhì)內(nèi)涵,很可能會(huì)未嘗甜頭,卻吃盡苦頭。

  不久前,我收到一個(gè)電子郵件,讀者列出下面的Java程序,向我求救。看過這個(gè)程序之后,我確定這又是一個(gè)“全世界所有程序員都會(huì)犯的錯(cuò)誤”。

程序1

class Singleton
{
private static Singleton
obj = new Singleton();
public static int counter1;
public static int counter2 = 0;
private Singleton() {
counter1++;
counter2++;
}
public static Singleton getInstance()
{
return obj;
}
}

鍵盤也能翻頁,試試“← →”鍵
302 Found

302 Found


Powered by Tengine
tengine