程序員都是怎麼記代碼和編程語言的?

有什麼方法快又好記。。。


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 火了會怎樣?
程序員最重要的能力是什麼?
血獅是用什麼語言開發的?有沒有人從軟體工程的角度分析過其失敗的原因?

TAG:互聯網 | HTML | 程序員 | 編程語言 | HTMLCSS |