論程式設計師的鍵盤修養;
如何提高程式設計師的鍵盤使用效率
【全文相關】
猿齡:4年;
第一年:那剛進大學,一次社團聚會上手機沒電了,問同學借充電寶,同桌文院的老師打趣說:學計算機的出門不帶充電寶的嗎?一時尷尬;
第二年:大一新生要換筆記本,問我程式設計用遊戲本還是辦公本,我說辦公本。他問遊戲本效能會不會好點,我說辦公本;
第三年:水友先後換了機械鍵盤,安利我也換換。機械鍵盤的手感跟我敲程式碼八字不合,現在依然敲著巧克力鍵盤,要不是嫌佔地方,我還想買個薄膜鍵盤;
第四年:有個同學打字速度快到飛起,十分羨慕,三年裡我嘗試過練習打字,心想可以提高編碼效率,現在想想真可愛;
網際網路早年有個梗,世界上有三種人,男人女人程式猿;
程式猿要用程式猿的觀點看自己,而不是其他行業人的觀點;
第一年:第二次聚會,我還是沒帶充電寶;
第二年:看到不少揹著遊戲本取暖寫”Hello Word“的習武之人;
第三年:水友機械鍵盤打2K的樣子,有點像蔡徐坤(不損不黑);
第四年:打字不是我現在要單獨練的;
程式設計師 使用鍵盤/輸入 最常用的技能有些?
1、順手的鍵盤
2、順眼的輸入法(win10推薦自帶輸入法)
3、語言關鍵字
4、Windows快捷鍵
5、IDE的選取
程式設計:優秀的IED > 能用的IDE > 文字編輯器 > 不友好的IDE
學習:文字編輯器 > 能用的IDE > 優秀的IDE
6、IDE快捷鍵
7、VIM命令
8、輸入速度
9、ctrl+S/Z/X/C/V...
常用的是這些,可能還有其他的,但基本要麼不常用,要麼目前自己程式設計水平用不到;
如何訓練這些技能?
技能1-6:
首先要知道這些概念,其次用幾遍就會了;
技能7:
不要為了用VIM而用VIM,不要為了用VIM命令去用VIM;
技能8:
好比遊戲本和機械鍵盤,早些年諸如此類還有記憶體條和固態盤(現在一般不用自己考慮了),我自己之前只加過記憶體條,當時需要開Matlab,又想學安卓,所以對記憶體有需求。沒加固態盤是當時感覺,電腦開機慢點就慢點好了(因為完全休眠,其實當時win8開機也很快,不過除了這個win8沒什麼友好的了),軟體開慢點就慢點好了,寫hello word又不急,i3處理器一樣可以跑AndroidStudio。主要的是目前都在學東西,所以物理硬體的延遲並不是什麼問題,cpu跑的再慢,都比人學習的時間用的少,在跑程式的時候完全可以去回顧下程式碼的邏輯,急著看到執行成果,不理解程式碼的內部執行,對於學習來說會有些本末倒置;
其實現在的IDE大部分都挺友好的,並沒有什麼輸入量;
所以在IDE的加成下,輸入速度對於學習者來說,是遠遠過盛的;
曾經看過一篇博文,雖不能以偏概全,但也很是受用:
https://blog.csdn.net/csdnsevenn/article/details/82935038
當你感覺你的手速匹配不上技術的時候,再單獨去練習手速;
當你感覺你的硬體匹配不上技術的時候,再單獨去提升硬體;
大學期間有位挺敬佩的一位學長,打字沒我快,技術第一,十指不全;
對於我自己而言,電腦選TP是信仰,機械鍵盤用不慣,因為足夠了;
技能9:
ctrl+S很重要,不是每個編輯器都天生會自動儲存;
ctrl+C/V學習的時候用不到,但在學習之後的很長一段時間,可能寫點東西就靠這個了;
達到什麼程度才算合格?
還是匹配程度的問題,當你的技能匹配上你的技術的時候,就合格了;
對於初次接觸程式設計的大一新生來說,知道怎麼打字就合格了;
不過前提是技能和技術要同步增長,並不是說初次接觸程式設計的大一新生以後也只需要懂如何打字;
推薦訓練這些的技能的遊戲或工具或練習題,並給出完成訓練以後達到的熟練程度
(量化指標如正確率、速度等)
綜上所訴,以此類推,對程式猿來說,輸入訓練是為了開發速度,不是為了輸入速度;
推薦訓練的遊戲:程式設計;
推薦訓練的工具:自己會用的IDE或者編輯器;
推薦訓練的練習題:自己學過的,會做想做,需要用程式碼實現的東西;
訓練士兵的時候,如果痛感減弱,死後復活,最好的訓練方式當然是實戰;
不僅教官最樂意接受,士兵也會最樂意接受(甚至士兵會嗜殺,理想的戰爭工具);
程式猿的輸入完全滿足以上條件,所以儘管實戰,大不了重啟;
給出完成訓練以後達到的熟練程度
寫了課上選做的程式化輸出計算題(B/S架構),以下是執行截圖:
登陸介面
使用者介面
建立三套不同型別習題的過程截圖
三套習題的題目與列印
正確率:基本實現了的都能用
速度:週一到週五晚間時間
上面兩個指標是用於評價輸入的,對於實戰,量化指標可以參照敏捷開