程序員都是怎麼記代碼和編程語言的?
12-30
有什麼方法快又好記。。。
C++的String都有什麼方法著? 寫個點看IDE會不會自動出來,沒出來?FCK,google一下吧~就這樣。
這就說明為何程序員都是翻牆高手
2015/03/03 更新,必須是Dash。 ~~~~~~~~~~以下為原回答~~~~~~~~~
為什麼要記?
所有非函數系編程語言,核心無非是與或非三種邏輯、順序分支循環三種控制結構而已。
然後,結構化多了函數定義、調用、返回以及變數作用域之類概念;面向對象多了封裝、繼承、多態;函數式則玩命玩遞歸甚或「抵制」變數——除了換湯不換藥的些須「口音」式的差異,哪種編程語言有本質差異?既然沒有本質差異,用c寫個qsort相比用java寫,有天大的不同?
以上說編程語言;至於代碼……代碼是為了做事,知道自己要做什麼事、如何做這些事、甚至還寫出並吃透了設計文檔,記什麼代碼?即便記住了代碼,難道不也還是「xx、yy和zz模塊用什麼方法做XX事」嗎?
類似的,API大概知道人家的思路(低者如命名思路,高者如設計思路),然後需要用時,猜一下,查一下,簡單快捷;演算法,真學會了,肯定是掌握了設計思路,以後遇上類似情況,隨時隨地就能因地制宜自己擼一份出來,又何須記?若沒學會,靠死記硬背,邊界值之類細枝末節都能保證不出錯?出錯了,憑死記硬背的半吊子水平,有能力debug?那麼記了又有何用。跟學自然語言一樣啊今天學幾個字 明天學幾個短語學著學著 卧槽 老子會說話了
卧槽 老子能看圖說話了
卧槽 老子能寫短文了卧槽 老子能寫作文了卧槽 外語也很簡單嘛.......這也是身邊很多想學編程朋友經常問我的問題:「那麼多函數,你是怎麼記住的?」
其實我真的想呵呵一下你們這幫愚蠢的地球人,我可以說老夫當程序員這麼多年了,CString類型的常用方法依然記不住嗎編程的精髓在邏輯、流程和思想,而語法、庫、模式等等都只是工具就像砸一個釘子,你可以用榔頭,也可以用磚頭,砸進去就行了額,貌似有點跑題總結來說就一句話,老子都是現用現查,記那玩意干毛線?只記粗顆粒的類,模塊,代碼結構
比如類是幹什麼的,大致有哪些功能。
模塊是什麼模塊,大致有那些介面某些對象在整個代碼結構里,處於什麼位置,誰創建了它,誰能獲取它,誰調用了它,誰又銷毀了它。數據在各個類和層次,客戶端,服務端之間傳遞過程中發生了什麼事情,會觸發什麼操作。這些內容,很久不會忘記掉。
具體的某些框架類,函數,不會特意去記住。稍稍停止寫代碼的時間長一點,就會完全忘記掉。我有很多物理專業和數學專業的同學,他們通過背代碼學習C語言。代碼很難記,但是只要花足夠的工夫,還是可以記住的。
首先在紙上寫一遍,然後一遍一遍在電腦中用鍵盤敲出來。
然後過幾天快忘記的時候再檢查自己是否記住了,再重複。如此往複就能背下代碼了。當然記憶力好的那部分人這個過程會輕鬆很多。
對了,順便一提,他們後來都沒有當程序員。
我們從不自己寫代碼,我們只是代碼的搬運工
用腦子去記,忘了的話還有 Google 不是?
1、實踐才是王道,也就是寫多了自然而然就記住一些了。2、若是真的涉及的方面太廣了,發現很多東西記住了過段時間沒用就忘記了怎麼辦?這個時候可能要翻一下之前記過的筆記,或者是直接求助搜索引擎,這裡提一下,只要你用過,再次找到的話你可以根據搜索詞非常快的定位到想要找的東西,不敢說百分之百,但至少是百分之九十以上。、3、至於一些庫函數,有些編輯器有自動的補全功能,敲出前半部分,按下tab就直接補全了,你若是讓我手寫 ,那很多函數我還真寫不出來了,但實際工作又有誰會手寫代碼啊?
- IDE提示
- 做筆記,前面大家都提到了查詢API文檔,其實,最快的還是翻閱自己的筆記,比如我忘記了freemarker怎麼判斷字元串是否為空,我要先查API,然後再需要查freemarker對字元串的處理,最後找怎麼判斷空,其實在第一次查詢了API後,我就可以記錄下來,這個問題下次還會遇到,那麼下次就可以直接快速查閱自己的筆記了。
- 翻閱文檔
在線API文檔
莫羅斯-程序員常用文檔你這應該是問的如何記住類庫吧,答案是不用記,要用的時候再查文檔。剝離開各個語言的標準庫,編程語言的實質無非就是數據結構,流程式控制制結構,和不同的編程範式。
我寫代碼啥都不記,全靠這幾個東西:"Google", "StackOverflow", "GitHub"聽上去是不是很弱? 事實上的確是很弱...
熟能生巧+IDE+文檔
你們不用Dash嗎?
我從一開始學習編程的時候就覺得編程比英語好學,四級都能過的人,學幾十個編碼保留字還用記嗎?寫代碼就跟說話似的,說著說著代碼就寫出來了。只是有時候不記得「字」怎麼寫,得時不時的翻「字典」。覺得編碼還要記保留字的人,我打賭你看編程書不超過一周。
理解的越多,記憶的越少。
必要的記憶是很多的,查apidoc,各種語言和組件都有,沒有apidoc就看源碼吧。
Mac系統推薦裝個dash,查api很好。看了各位大神的回答,倍感欣慰啊,前端要記的東西就太多了,我也沒記住,常用的也不用去記,常用嘛,自然就記住了,不常用的就查查文檔嘛,也很快的,估計比你自己想還要快,又快又準確的,久而久之,不常用的也就記住了,就醬…話說,為啥校招要考手寫代碼?為啥不看看誰用的IDE好,誰用的編輯器酷?能提高效率的編輯器才是好的編輯器,當然,用習慣才是王道…至於某大神說用文本文檔就夠了的,完全不能苟同啊,編碼格式易出事,無自動縮進,代碼高亮,寫起來真的有成就感嘛?
其實應該使用背英文單詞一樣背誦API,因為這樣才不會因為頻繁的查看文檔打斷你的代碼思路。但是實際上大家都很懶,就靠查文檔,就依靠IDE提示,就喜歡沒事google一段代碼複製粘貼。
推薦閱讀:
※樹莓派為什麼採用python語言為主要開發語言?
※Rust 火了會怎樣?
※程序員最重要的能力是什麼?
※血獅是用什麼語言開發的?有沒有人從軟體工程的角度分析過其失敗的原因?