暴露程序员身份的8个行为

jopen 10年前

        英文原文:8 bad habits you can blame on programming

        俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样。他们在编程中养成的一些思维方法会不自觉地在日常生活中表现出来。近年来,在 Stack ExchangeQuora 上也有过类似的讨论,我们这里总结了程序员日常生活中经常表现出来的 8 个编程思维。你有没有同感呢?

        0. 在正常交流中掺杂编程规范和语法

        职业原因:编程语言都有自己特定的语法,程序员在开发者都要遵守这些。当然,还有一些约定俗成的编程规范,如代码缩进(是缩进 4 个字符还是 8 个字符)、注释风格,采用骆驼式(CamelCase)或帕斯卡式(Pascal)来命名变量或函数等等。

        日常行为:这些编程习惯可能就会影响到程序员的日常文档书写习惯,比如写邮件时会用分号来结束一行内容等。

        例子

  • iWriteInCamelCaseEveryNowAndThenItAnnoysMySisterWhoReadsMyEmail.(小骆驼式拼写法)
  • IF you have tea I'll have it ELSE I'll just take wate.(利用了 IF-ELSE 判断语句)

暴露程序员身份的8个行为

        1. 真实生活中习惯讲操作快捷键

        职业原因:程序员玩快捷键操作软件应该很熟练了,一般来说,Ctrl-C 表示复制、Ctrl-V 表示粘贴(对特定编辑器如 Vi、Emacs 来说会有不同)。

        日常行为:这些快捷键有时在程序员的行为和话语中表现的很常见,这也会在一些场合引起尴尬。

        例子

  • "Mentally trying to Ctrl-Z on things I just said.(Ctrl-z 表示撤消,这句话意思是我收回我刚才说的话)
  • In life there is no undo.(生活中没有撤消)

暴露程序员身份的8个行为

        2. 从 0 开始计数

        职业原因:大多数编程语言中的“数组”初始值都是从 0 开始而不是1。

        日常行为:这种约定使得程序员经常在生活中数数都是从 0 开始,没有编程背景的人们很难理解这种计数方式,如果你的程序员朋友祝愿你在 3 千米长跑中获得第 0 名,你就偷着乐吧。

        例子

        - How many beers are left?(啤酒还剩多少杯?)

        - Zero, one, two, three... We have four left!(0,1,2,3,……我们还有 4 杯呢~)

暴露程序员身份的8个行为

        3. 生活方式不健康

        职业原因:程序员写起程序来有时一坐就是大半天,眼镜不离电脑屏幕,甚至在灵感爆发时熬夜。

        日常行为:作息无规律,锻炼不足,与外界接触过少。

        例子

  • Eating lunch at 3pm and going to bed at 3am.(下午 3 点吃饭,凌晨 3 点睡觉)
  • Lack of exercise -> Eating too much -> unhealthy life style.(缺乏锻炼 -> 吃得过多 -> 生活方式不健康)

暴露程序员身份的8个行为

        4. 试图优化任何事情

        职业原因:软件开发者会不断地优化自己的代码,让它越来越快、越来越高效。常用的方法有多线程处理任务、代码复用等,并在任何有可能自动化执行的情况下使其自动化。

        日常行为:会尝试优化真实生活中的事情,尽量省力、高效,往往会被认为太懒惰,比如脏衣服经常堆到一定规模,实在没有可穿的了才去清洗(往往一次全部清洗完)。

        例子

  • don't solve a problem until you absolutely, positively have to.(不到万不得已,不解决问题)

暴露程序员身份的8个行为

        5. 过于强迫症、完美主义

        职业原因:程序中一般不能使用模糊语义,因为计算机不理解“差不多”,“基本”。程序中即使有一点小错误,也会导致程序编译不过、运行不起来。

        日常行为:程序员也经常是过于认真,不放过任何小细节,“打破沙锅问到底”,这有时会给周围的人造成压力。

        例子

  • Requesting clear spec for favors and errands. 'Wait what do you mean by 'some eggs'? What is the lower and upper bound?'"(老婆让去买些鸡蛋,会追问到底买几个啊?)

暴露程序员身份的8个行为

        6. 希望人们都和电脑一样循规蹈矩

        职业原因:计算机会按照程序设定的方式运行,运行出错,那就是程序出 Bug 了。

        日常行为:程序员有时会忽略人们是和电脑不一样的,人不可能完全按照逻辑和理性来做事,更多的是“跟着感觉走”。

        例子

  • Having to explain what a logical fallacy is, first, everytime someone says something completely wrong gets frustrating fast.(经常去解释逻辑上存在的错误,如果人们否定整个事情则很容易感到沮丧)

暴露程序员身份的8个行为

        7. 总是想到 2 的乘方

        职业原因:计算机存储信息的基本单位是 bit(比特)。二进制系统中,每个 0 或 1 就是一个 bit。

        日常行为:常常不以 10 进制而是以 2 进制进行计算。一些平常的日子在程序员眼里也变得很神奇,如程序员日就是每年的第 256 天(2^8),也有人推荐将每年的 10 月 24 日作为程序员日(2^10)。

        例子

  • Everything has to be in powers of 2.(一切皆为 2 的乘方)
  • Imagine you have 1,000 bucks; or better a round number — imagine you have 1,024 bucks.(假设你有 1000 块钱,最好这样说,假设你有 1024 块钱)
来自: www.iteye.com