我如今感受本身敲代碼很慢,10 個字母裏面會出現 2 個字母打錯。尤爲是一些特殊符號,好比 < >,我使用的是搜狗,搜狗和英文切換是 shift 鍵,open English word ,但有時候極容易弄錯所處狀態,不多去觀察是中文狀態仍是英文狀態,由於切換的太頻繁了,好比常常會把 < 打成《,> 打成 》。中文環境下打字,很快,幾乎不會出現按錯字母的現象,而英文狀態下就常常會出現。
有的人一天寫幾萬行代碼,而本身一天一直在那些也就是幾百行,有時候須要撤銷的時候,發現不少不撤銷都是撤銷的本身打錯字母的操做,感受效率很低。 java
我好奇的是那一天寫幾萬行代碼的人。。
其實一天能寫幾百行已經很不錯了
對於你說的,個人建議是:
1. 默認不用中文輸入法。不只提升效率,並且你開個中文輸入法打代碼也容易被裝13的人鄙視是不
2. 反覆練習。寫代碼可能須要思考,會耽誤一點時間,影響了打字啪啪啪的那種快感。我建議抄代碼,純粹是爲了練習盲打鍵盤,好比開一個窗口顯示代碼,另外一個窗口一字不落打下來,須要注意的是要和原諒保持徹底一致,而且不要看鍵盤。我以爲在空閒時間練個一兩週應該就差很少了
3. 我仍是好奇那一天寫幾萬行代碼的人
一天寫幾萬行代碼?
一秒鐘能按一組ctrl+c\V麼?!即便如此一小時才3600行!
10小時才3w行!
一天幾萬行代碼莫非是寫個function(){而後按幾萬行回車再把}寫上?
大家那裏難道是以代碼行數來評價一個技術人員的價值的嗎?一天寫幾千上萬行代碼的人,基本上就是Ctrl+C Ctrl+V了。一個好的項目,就是幾個關鍵的idea,能在一張紙上清晰畫出來的架構圖,一二千行關鍵的代碼。剩下的,就是不斷擴充和增長feature了。
我和咱們team裏最優秀的工程師聊天,他說他解決過的最難的技術難題,寫了0行代碼,可是獲得了老闆最高的嘉獎,關鍵在於你能想到那個地方。設計和思考纔是體現一個技術人員能力的地方。
關於程序員寫code,
一個剛入門的程序員,一天可能寫三、400行代碼,可是一堆BUG,測試要花1周。
一個有經驗的程序員,一天可能只寫50行,可是會花更多時間考慮這50行的代碼結構,邏輯,每每測試1天就沒問題了。
只從提升編輯效率來看:
1.順手的鍵盤。程序猿的話不是電容也得是機械鍵盤才能知足。
2.順手的編輯器。vim用熟了編輯效率不是蓋的,徹底不用鼠標。
關於搜狗輸入法
用搜狗等中文輸入法聊天/寫文檔與寫代碼切換時,養成直接切回系統英文輸入法的習慣。都是一個快捷鍵的事,省去很多麻煩。
2. 嘗試手打現成英文文章/文檔/代碼,有興趣還能夠試試限時託福或者 GRE 做文練習。輸入中文快是由於熟悉每個拼音的組合,好比你打一個經常使用拼音「changyongpinyin」這個組合你分紅兩個詞根本是條件反射打出來,而「frequent word」你須要經思考字母順序而後再憑藉手對鍵盤的熟悉去找相應字母的位置。經過平時多練習英文輸入使之接近中文水平。
3. 習慣平常生活如聊天時使用規範的標點符號與中英文格式,如中文用「。」而不是「.」,中英文數字間空格等。
4. 使用標有拼寫錯誤提示的瀏覽器/軟件。
5. 使用規範指法。
6. 打字通這種小學用的軟件如今還有嗎?
7. 使用反饋比較明確的鍵盤。不必定要機械鍵盤但鍵程清晰擲地有聲仍是要的。好比 thinkpad、 mbp 以及 mac 外接鍵盤,乃至 surface 鍵盤我認爲都是達標的。MacBook Air 和 NMB 就比較差了…
再一次
選一個好看的IDE,對,配色什麼都徹底喜歡那種。
選一個對語法高亮提示,自動補全的IDE,這樣你寫前3個單詞就補全了,好比Emmet就是這個思想 ,大大提升生產率。 不一樣意第一的答案說徹底本身敲代碼。
選一個舒服的椅子,舒服的鍵盤,不要坐着半天就腰痠背痛不行了(好比我在寢室。。)。
還有就是多思考,再敲代碼。
一直在想一次寫出0 bug的代碼
最後記住的話
編程永遠質比量重要
既然問題是如何提升速度
那麼我推薦 Intellij IDEA / PHPStrom 系列IDE,根據你本身的工做語言找他們家對應的產品
他超強在能夠脫離鼠標操做
更強在用鼠標依然能夠操做
最強在代碼分析重構
不止是最基本的語法提示檢查
還有解決方案,bug解釋,關聯性分析等等。
關於
國內人寫代碼的水平跟外國人的差距比較?
我思考過
論工做中的編碼能力,國人比老外但是一點不差。中國留學生在國外也都能找到不錯的工做,徹底可以勝任。 git
但爲何中國人就很難寫出世界頂級的代碼工程呢?我以爲緣由出在生活壓力上。中國的碼農生活壓力大,699之類現象(一週6天早9晚9)很是常見。這種狀況下寫代碼都是超額工做,並且沒有業餘時間,即便有業餘時間,也很難再把時間花到一件上班都已經幹到噁心了的事情上去。而真正史詩級的代碼和項目,幾乎無不是程序員們玩票的時候搞出來的。 程序員
程序員和碼農,雖然看上去是同一羣人,可是描述了這羣人兩種不一樣的心態和生存情況。做爲興趣志向和做爲求生技能,二者的區別在於動機,而技巧不分上下的時候,能決定成果的,就是追求不一樣的心了。 github
長久以來看源碼發現一個特色,國外的程序員很善於利用開源項目,尤爲 java 的項目 pom 依賴的其餘開源項目不少,感受各類開源項目都會用,並且願意使用不是本身造輪子,很快的像搭積木同樣一個大項目就起來了,只要關心本身項目的核心業務便可。因此在 github 常看到一我的能駕馭很大的一個項目,這點在國內程序員很少見。 數據庫
---update 編程
分工明確,各自信賴這點真的不錯,也許咱們的程序員還缺少點這種網絡合做協做的經驗, 各位別上綱上線一下扯到國家扯到民族。 vim
差距:
老美、印度和俄羅斯的三國軟件工程師以及他們寫的代碼。
說下他們的區別。
老美的代碼看起來是一件藝術品,他們會在代碼文件頭、函數頭裏寫上很漂亮工整的註釋,而後項目有一個龐大複雜的架構,各類設計模式、框架結合使用,好像這些東西用得越多越流逼同樣。喜歡將簡單問題複雜化,一個能用全局變量實現,且沒多線程不用上鎖的東西卻恰恰要用一個singleton模式來作。能用簡單的callback函數實現的活但偏要弄一套Observer模式。把代碼寫得異常深奧。什麼模板的偏特化、虛繼承那邊邊角疙瘩的技術都搬弄出來,怕你一下看懂代碼讓他感到很沒面子似的。
解一個bug須要7個工做日,君若問爲何要7天?
待我細細道來:問題重現要1天,debug要1天,workout solution要1天,測試1天,review 1天,review後再submit要1天,submit後經理approve又要1天...感受那邊的時間不是錢啊,不帶這麼玩的啊。
印度人寫的代碼就像一條工業流水線出來的產品同樣,每一個都很規矩,但也很死板。一個環形消息緩存的東西用居然數組來實現,而後在下標計算時倒來倒去。尼瑪用個鏈表來實現會死是不。
Russia的代碼那簡直就是天書,一股濃烈的geek氣味伴隨着灌滿伏特加後眩暈的混沌感撲面而來。變量名寫長一點清晰一點會死嗎?plmm不是漂亮美眉,看了半天代碼連猜帶懵才知道是Platform Link Maintainess Manager。而後裏面各類各樣tricky的代碼與潛規則,get_user_policy(UserId)函數跟根據用戶id獲取他的安全策略是吧,慢着,若是你傳入的id是0,我返回的是系統全部用戶的策略;你傳入的是-1的話就是從新加載策略文件...別問爲何,我是故意這樣作的。我勒個去...
國人寫的代碼仍是比較實用的,但若是不加控制就會犯低級錯誤。你見過爲了查找一個用戶id,先用select *從數據庫把全部內容都撈出來,而後用個大大的for循環來查找的代碼嗎?我看了當時就淚奔無語了。
還有一次一幅圖片控件在屢次操做後就死活顯示不出來,鬱悶地查了一天一晚上看到某處代碼pic.alpha=0.我問爲何,他說由於我想隱藏圖片啊。我當時立馬有一腳踹死他的心都有,是否是大學圖像處理學傻了,不知道有visible=true/false這個方法啊,要給我搞什麼alpha通道,這東西真是誰用誰才知道啊。
或許
國內人寫代碼的水平跟美國的差距很重要的一個方面,就是
程序員平均年齡。或許從思惟反應、精力上來說,年輕人會有優點,可是年齡稍微大一點,並不會致使邏輯思惟能力的降低,甚至豐富的編程經驗還會減小一些低級錯誤的發生,遇到bug也能更快的定位出問題的緣由。
我一直以爲如今一個很很差的風氣就是鼓吹
編程是吃青春飯,致使不少人剛碼了沒幾年就去考慮轉型。在這種思想的指導下,有多少人真能靜下心來潛心研究coding呢?我沒有到30歲,或許討論這個編程和年齡的問題不太夠資格。可是我目前的觀點就是
「編程」並非Code Rush,年輕時精力和集中力的優點,沒有想象中那麼大。
發現detect
洋人認爲中國人寫代碼蠻幹,低效,一般不稱中國人爲程序員,稱碼農,或者稱碼奴更恰當。
國人編程與西方人確實有差距。
但國情不能忽視。
固然談論軟件測試,其實微軟公司有祕密武器----一位很高級的軟件測試機器人,通曉對多種編程語言,操做系統平臺的測試,一位良好的測試高手,離不開這位高級測試機器人,一般會更它切磋。這樣能夠節約成本,跟高效。不過在中國,會軟件測試的機器人尚未。
at last
咱們不要被西方人嚇倒,有一點西方人沒有,咱們國人引覺得豪---a kind of Chinese spirit
那就是------中國人的精神。
end