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

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

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

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

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

  不久前,我收到一個(gè)電子郵件,讀者列出下面的Java程序,向我求救?催^(guò)這個(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;
}
}

鍵盤(pán)也能翻頁(yè),試試“← →”鍵
302 Found

302 Found


Powered by Tengine
tengine