先做个“键盘侠”, 再来写程序
小李和小刘在一个小公司做程序员,格子间里两人座位挨着, 早上来到公司,先办点杂事 (就是喝点水,聊聊天,上上网, 你懂的....)
然后一天的工作才正式开始, 小李每次都很羡慕小刘的工作状态:
一双程序员的手在笔记本键盘上下翻飞,噼里啪啦,煞是热闹, 偶尔遇到难题, 停下来拿起圆珠笔转几下,马上计上心头,
又开始噼里啪啦起来, 一个上午完成的活能顶上自己干一天, 甚至一天都不止。
反观自己,也写了不少程序, 可速度一直上不去, 尤其打字的速度, 同样是程序员的手, 像个老年人,慢吞吞的不说, 敲数字的时候还得低下头来找按键,
甚至有时候还得祭出“二指禅神功”, 严重影响了进展。
小李很苦恼, 因为经理明显更喜欢速度更快的小刘。
这个故事当然是我杜撰的, 但根据我的观察, 小李这种情况的的确确是存在的,还为数不少。
打字速度虽然不是衡量程序员水平高下的标准, 但至少提供了一个重要的观察维度。
一个好的程序员在专注编程时应该是行云流水的, 一行行代码通过指尖流淌出来, 就像演奏一个流畅的音乐, 毫无滞涩。
这一切的基础就是你对键盘的熟悉程度, 或者说,你是不是键盘侠。
你应该对键盘上的字母,数字,特殊字符极其熟悉, 只要两个食指找到“F”和"J" , 其他的一切就尽在指间, 完全把键盘忘掉了。
如果你对IDE中的快捷键也非常熟悉, 那更是如虎添翼, 甚至鼠标就可以抛弃了。
举个简单的例子, 你在写这样一个变量名的时候“firstDayOfWeek” ,会不会反复的敲CapsLock键来输入大写的 "D" , "O", "W" ?
我观察到那些速度很快的程序员直接用小拇指按住Shift 就解决了, 根本不会按一次CapsLock , 敲一下"d" , 再按一下CapsLock , 再输入下一个小写字母"a" , 因为这样产生了阻碍。
我们现在还没有办法直接把自己的思维告诉电脑,编程的过程就是把你大脑的思维通过肌肉,通过手指传递给键盘,然后转化成电脑中的二进制, 这个过程如果被你不熟悉的键盘给阻碍了,岂不是大大的可惜!
记得我上大学的时候, 电脑还没有普及, 只有到机房去才能摸到电脑,当时我在学C语言,为了练习打字的速度, 有时候会把上课的桌子当成键盘, 练习快速的敲击int , float.... 其实就像你去驾校学车, 就是要把踩离合,换挡变成自己的肌肉记忆, 在开车的时候根本不去想它, 下意识做动作就好了。
所以千万别让键盘成为这个过程的阻碍, 努力做个"键盘侠", 把键盘变成你身体的一部分扩展, 让你的思维毫无阻滞的进入电脑吧。
最近看到一篇对高德纳(这是真正的大牛啊, 皇皇巨著《计算机程序设计艺术》的作者, 1974年图领奖得住)的访谈, 高爷爷的一席话让我目瞪口呆, 他说:
“我打字的速度比我思考的速度更快, 这样当我试图用键盘创作重要内容的时候, 就会产生同步问题。
所以我不得不把你的访谈答案先用笔写下来, 然后再输入到Mac电脑上。 我书写的速度跟我思维的速度是匹配的。”
一般人都是思考速度远远大于书写或打字的速度, 高爷爷真乃神人也 :-)
注: 键盘侠在网络上一般指的是现实中胆小, 但网络上却由于匿名身份很胆大,发表攻击性言论的人, 最近看了电影《煎饼侠》, 就把键盘侠借用过来博大家一笑。