Chen Yangjian's Blog

Carpe diem - Seize the day

你会在你的软件里头加彩蛋么?

| Comments

我原先并不知晓复活节彩蛋,然而因为以前 Office 里头的胡万进印和 firefox 里头的 about:mozilla 圣经你也用 fx?点击一下看看吧,我对这一词汇并不陌生。即便我所理解的意思与它的本意可能天差地别。

如果给你那个机会,比如说假设你是一个很牛鼻的程序员,手头上刚好有个很牛鼻的项目,该项目将会引发业界地震,绝对是杀手级应用。你会在那个程序里头加彩蛋么

加彩蛋比较牛鼻的是像米开朗基罗那样,即使是顶风作案,也要给每个自己的创作签上自己的大名,虽然没有自恋到如蔡智恒,签满一卷卫生纸。效果可能也就是被人发现,然后乐呵一下。然而有个[关于 Apple ] 的彩蛋则结实地让彩蛋风光了一把。

有个米国本土山寨抄袭当时的苹果II代,抄得比较狠,很文档都照抄,甚至有的地方名字还是 Apple。Apple 愤而告之,该山寨抵赖,于是有观众上前说让他敲几个键就能见分晓。结果出来一 Apple© 标志。

8过今天比较晚了,我就不聒噪啦。我的态度比较倾向于 kaladorn 的回复 以及对该回复的回复:

Some of the responses in this thread make me think a lot of the folks responding either don’t do contract software development for a customer, don’t work on any sort of mission critical software, or aren’t terribly mature.

An easter egg is: a) extra code that could introduce a new bug (accidents happen, even in easter eggs - I’ve seen a screwed up easter egg crash a program and leave the machine locked up) b) something that is not part of requirements and if caught during client code reviews or after installation, would put your employer in a complicated position since your spending time on such an unallocated task could basically be considered a form of fraud if the client is paying for your services c) a sign of vanity - professionals do the job, do it well, and move on, not write silly-ass amateur crap just to amuse themselves and stroke their egos d) something some other poor software engineer might have to fix or remove and they might not find so darn funny

A professional should take satisfaction in a job done well.

Do civil or mechanical engineers leave easter eggs? Do nurses? Do doctors? Grow the hell up… people bitch about software folks never being given the same respect as other engineering fields and it is the attitude of the average programmer that has a sizable part in explaining this.

Would you want your doctor leaving an easter egg? Would you want your dentist? Or would you find it funny if your phone dialed random numbers on some developers birthday? Or if your traffic light flashed all green every summer solstice? I think not.

I suspect the gulf here between those respondents who manage programmers and deal with clients or who work in any form of mission critical software or professional services and those who write shrink-wrapped software or less critical applications when it comes to easter eggs is probably sizable. All it takes is seeing a co-worker having his ass kicked because a manager had his chewed off by an angry client to understand that, in professional environments, this kind of stuff doesn’t fly (and shouldn’t).

You’re not paid to be an artist. If you were, they’d cut one copy of your code and display it up in a museum. You’re paid to implement requirements as defined by your employer and possibly your customer. When you aren’t doing that, you’re basically screwing the pooch and exploiting your employer. Some may feel justified doing this, but that’s a crock. If you don’t like the job, GTFO. If you do like the job, be a professional and leave the high-school hijinks behind.

(And yes, I’ve worked for 15 years in mission critical software for the police, the military, air navigation training systems, cell phone portals, VOIP and call processors, HR systems, and so on, so it does colour my view on easter eggs…)

顺带一个笑话娱乐一下:

I worked with a text editor in college where upon triggering an unlikely error the user was prompted with the message:

“Are you A) Blind or B) Stupid?”

The user had to pick one to continue.

Comments