程序員需要很快的打字指法嗎?

感覺養成壞習慣了,改不掉了。


我屬於打字很快的。而且我認為是打字快很重要的。

打字快,是「快速實現腦中想法」的重要一環。
都知道程序員需要大把的時間來思考,來設計,來debug。那麼,當你想到一個主意,但是拿不定是否可行,或者是否比現有方案更好的時候,怎麼辦?寫個demo。運指如飛,一分鐘把demo寫出來,行與不行當下可辨。如果寫個demo都要花個30分鐘……那很多想法都會變成高蹈凌空的空想,而缺少必要的實踐支撐了。
我在做程序設計的時候就是遇到細節問題就花兩三分鐘寫個junit跑一下。

打字快,還可以幫助程序員更有效率的利用碎片時間。
程序員不光要寫程序。我們還要寫測試說明,寫郵件,寫文檔,寫ppt,寫博客,寫stack over flow,寫知乎……很多時候這些東西都是趁著伺服器啟動的幾十秒,或者趕在定時任務還沒跑起來的三五分鐘,趁著參會人員還沒到齊的十來分鐘寫的。如果寫完郵件一抬頭,10分鐘過去了,oh no,伺服器啟動早就失敗了,定時任務的日誌已經刷的沒邊兒了,boss在台上從侏羅紀公園講到旅行者一號了……
利用這種時分復用,我最高並行處理過五個線程……debug自己的代碼,寫郵件,幫別人查bug,給運營同事寫sql腳本,聊qq……

打字快,是鍛煉大腦的一種很不錯的方式。
快速打字不是「熟能生巧」這麼簡單。你得快速想好你要打出什麼字來;你得熟練的掌握鍵盤的布局;你得了解你的輸入法在什麼時候會排出什麼樣的詞序;你得快速的看出你打出來的字和你想要的字之間的差別——尤其是你在輸入英文的時候,relalize和reallize和realize之間差多少?——這裡每一步都是需要你的大腦去提前思考、決策,也就是去預判,然後才能得到一個「快」的榮譽稱號的。
這種預判的思維讓我養成了多想一步的習慣……預判一下我這個問題提出來別人會讓我怎麼做,我這個郵件發出去老大會怎麼答覆什麼的……

打字快,是程序員價值的一種獨闢蹊徑的體現。
當你的鍵盤噼里啪啦作響時,別人多半會覺得這個程序員好厲害,會覺得他一分鐘能幹別人十分鐘的活兒,會覺得他做的東西一定很高上大……
嘛,因為打字快而被別人誇……也算是我作為程序員的一種價值吧……

打字快,有時候能給程序員提供一個GFW
噼里啪啦作響的鍵盤,除了「我很老舊了需要換了」之外(雖然不一定是老舊的鍵盤才會響),還能夠說明這個程序員非常忙,這個程序員正在技術攻關甚至是攻堅,這個程序員不想被你們這些凡人打擾,這個程序員即使被打擾了也只會頭也不抬的說一句」我很忙「——總之,大家現在不要去打擾他。實際上他可能是在和媳婦聊qq……咳咳
實際上我可能就是在和媳婦聊qq……

總之,作為一個打字快的程序員,我很享受我的打字速度。

話說回來,打字確實不一定要很快,我享受芥末不代表芥末就是好的。我見過很多打字慢悠悠的同事,他們不比我差。
但是,不管打字快與慢,一定要能夠很順利的盲打。
一是要順利。一口氣打出來十個字母,看一眼之後往回刪到第3個,這種返工的事情我們程序員最討厭了。
二是要盲打。看一眼鍵盤,看一眼屏幕,再看一眼鍵盤,真的會瞎掉的。


首先,其實寫程序不是所有代碼都是自己敲的,Ide會幫你完成很多編碼,熟悉開發工具會幫你更多,所以,不需要那種很快的打字速度。

其次,寫程序前應該很多的思考代碼邏輯,而不是寫一點是一點。因為三思而後行會使得你代碼bug更少,所以想的要快比打得快更重要。

最後,恩……好吧,我說完了


5年以前我認識兩個30+的老程序員,其中一位喜歡:

loop {
坐禪般獃獃面對屏幕良久不動;
輕輕伸出右手食指啄米般戳幾個鍵;
}

而另一位的習慣是:

finish_this: (context)-&>bool
{
if is_perfect(context)
{
return test_and_verify(context);
}
else
{
context += 瘋狂打字;
context += 瘋狂打字;
context += 瘋狂打字;
……
if finish_this(context)
{
return true;
}
else
{
context -= 瘋狂刪除;
context -= 瘋狂刪除;
context -= 瘋狂刪除;
……
}
}
return false;
}

最後他們兩位都可以把boss交代的任務完成得很好。。


通常不需要,但是打字速度快聽著啪啪聲很爽。


我覺得我寫代碼的時間大部分用在了思考怎麼寫和debug上了。。。


不需要,雖然大部分人打字速度都飛快。


推薦閱讀:

是不是喜歡穿女裝的程序員水平更高?
大家心目中最好的一条程序员专用语录是什么?
女程序員上班需要化妝嗎?
《代碼大全》和《代碼整潔之道》有什麼區別?更應該優先讀哪個?
為什麼程序員都比較內向?

TAG:程序員 | 代碼 | 程序員修養 | 打字 |