努力成為打字超快的工程師!

Adler @ 2015-02-24


每次看到其他工程師能夠用超快的速度打字,就非常羨慕。我認為「打字」是一個很基本,卻很難練習的技能。儘管在學習程式語言的過程中,已經大量使用英文打字,但若沒有刻意練習,似乎就有一道門檻在那邊,常常需要低頭去看按鍵,降低效率。尤其最近切換到Vim編輯器,更是高度倚賴鍵盤而非滑鼠。

一般不看鍵盤直接打字稱為「盲打」(touch typing),對於長期使用電腦的現代人來說好處多多,中文使用者因為長期使用BBS、MSN、Facebook、Line及各種聊天軟體的緣故,注音打字速度普遍都有一定水準,但對於英文熱鍵的操作就水準不一了。例如在Word當中要將段落文字加粗,可能連按Ctrl(CMD) + B 都需要低頭看鍵盤才能操作。大部分使用者對於英打的練習卻普遍不夠(拼音和嘸蝦米的使用者可能比較沒有這個困擾)。

身為一個工程師,英打速度更是不可或缺的一個技能,除了撰寫程式碼以外,格式的調整也是大量倚賴鍵盤。啥?你都用滑鼠調整嗎?身為一個工程師,大家應該都會慢慢養成手就是放在鍵盤上的習慣,如果能不用滑鼠,對於工作效率絕對是一個大幅提昇。在一篇Coding Horror上的文章「We Are Typists First, Programmers Second」就說到,開發者對於打字一定要熟悉,那無關乎任何程式語言、程式邏輯,而是一個基本的技能,最重要的是我們在工作時可以減少實作的時間。

在逐漸摸索當中,以下有三個蠻推薦的學習資源:

Typing.com

非常酷的打字教學網站,整個練習過程非常漫長,從最基本的home row到整篇艱難文章的練習,循序漸進。

剛開始可能覺得無聊,但到了某些地方,就會發現自己的弱點。例如我的小拇指非常不靈活,而有些練習就是刻意要用小拇指瘋狂在幾個按鍵之間來回,這時候才知道自己在那些地方真的是很冏。

個人最大心得:要有耐心!順的地方就讓他跳過去,錯很多的地方一定要反覆按「retake exercise」讓自己對那幾個單字的拼湊、手指的移動方式更熟悉。而且務必要讓手指放在指定的地方,不能左手去按右手負責的按鍵,也不能讓中指去按無名指負責的按鍵,這才是最值得我們練習、進步的地方。

建議註冊,每次練習都先登入,比較知道自己練習進度。

Typing.io

Typing.io是專門設計給程式設計師的打字練習網站,其中有非常多的source code可以練習,有基本的分析工具。如果要有較好的分析和追蹤工具,就需要付費。如果已經熟練所有基本的按鍵配置,建議可以來這邊練練招,畢竟程式語言和一般英打有一個很重要的差異:程式語言有超多標點符號和排版,一般打字可以讓我們知道哪顆按鍵在哪裡,但如果要熟悉開發者的工作方式,還是得在程式上多練習。

很酷的是,除了各種程式語言的原始碼可以選擇之外,還可以自行上傳自己的code進行練習。個人認為比較可以改進的地方就是他並沒有需要我們用tab和額外的enter鍵進行排版,可以直接順打下去,而畢竟那也是程式開發時很需要的一環,如果有的話更可以模擬一般開發的流程。

ShortcutFoo

這個網站純粹是練習編輯器的熱鍵,聽起來好像沒什麼,但本人實測以後,發現要快速的執行熱鍵還真的是個問題,儘管腦袋裡想著,卻需要花額外一秒去想「這個功能是什麼熱鍵?」噗,聽起來好像蠻遜的,假如你跟我一樣對於編輯器熱鍵不太熟悉,也可以來這個網站試試。除了最基本的Command Line和Git以外,也包含Vim、Sublime Text、TextMate、XCode等大家常用的編輯器,甚至有Gmail和Chrome Dev Tools的熱鍵練習。如果你有常用的工具,請務必來這裡熟練一下。

打字快速有什麼好處?

Learning Keyboarding上有一篇文章寫出了八個盲打的好處,但最重要的兩點就是「速度」和「心情」,一來是不用一直看鍵盤,二來是不會節奏被打亂。

如果你已經對於鍵盤相當熟悉,也推薦例如Mac的AlfredVinium等系統輔助工具,不需要滑鼠即可操作系統及瀏覽器。