a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 108|回复: 0

[基础知识] 论全世界所有程序员都会犯的错误1

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
当年,某国际巨星的“龙种”曝光,众人指责他对不起娇妻,逼得他出面召开记者会,向世人自白他犯了“全世界所有男人都会犯的错误”。从来没犯过这种错误的我,也因此常常认为自己不是个男人。   虽然没犯过“全世界所有男人都会犯的错误”,但是我倒是曾经犯了“全世界所有程序员都会犯的错误”。不管使用何种语言,全世界所有程序员都一定犯过这种错误,那就是:太依赖编译器,却不知道编译器做了哪些事。4 W. r9 ]+ v, `4 s/ @5 F' ~' D5 K

2 R8 p$ b8 O8 u6 E9 K7 j: q  一般来说,越高阶的程序语言,会提供越多语法上的便利,以方便程序撰写,这就俗称为syntactic sugar,我称其为“语法上的甜头”。虽说是甜头,但是如果你未能了解该语法的实质内涵,很可能会未尝甜头,却吃尽苦头。. |6 N- ^8 M" Z8 ?
- Z' V7 ?+ H% \) B
  不久前,我收到一个电子邮件,读者列出下面的Java程序,向我求救。看过这个程序之后,我确定这又是一个“全世界所有程序员都会犯的错误”。1 L* h# q7 [& E5 b

0 e! k7 K: q, _2 e* P6 a程序1; t, H9 F( j" u0 K1 |. L/ j
# Q; C4 o* s# ~6 K# L; e. g# l
class Singleton
0 \* j. ~2 C3 @! }5 w6 x! Z& W2 L{   H$ h$ v) ^) Z9 g7 l; H
private static Singleton
" B3 U; h! O, Q1 R7 v' {; y$ ~obj = new Singleton(); 3 ^- j, _+ h) f6 O
public static int counter1;
& c1 ~2 D' G' ^public static int counter2 = 0; # F. r5 A4 u: A) y) _
private Singleton() { ' a( I. v/ W- O6 _  N( l
counter1++;
6 Y' l! u, V& N- V* \5 Kcounter2++; $ x& _* ~9 O8 i3 l; }8 M! n* U
}
$ s1 t8 L; P: opublic static Singleton getInstance()
9 b9 O5 `" z: ^/ ^* v{ 1 w6 K& J  U1 ]+ f( Y" V
return obj;
  g/ B( Z+ I& g} 3 J: g# T3 }4 C5 u- i- p, ^
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 17:44 , Processed in 0.212590 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表