看代碼千行,不如手寫一行,是否在理?為何?
01-05
主要是,代碼為什麼那麼寫,可能會包含很多原因,而這些原因是你不動手干一下是不知道的。
所以實際上就是,你不寫幾行代碼,你根本沒辦法去看懂別人的。所以在不寫代碼的情況下,看代碼並沒有任何好處,反正都是亂碼。我喜歡把寫代碼和彈琴做類比。
你無論看多少琴譜,讀多少音樂演奏理論書籍,聽多少場大師的音樂會,你還是不會彈琴。想學會彈琴,必須親手練習,並且持續不斷練習。
即使你已經成為了鋼琴演奏家,鋼琴大師,仍然要保持一定練琴時間,否則一樣退步。寫代碼就是一門兒手藝,除勤學苦練外,沒有捷徑。一圖流:
我覺得寫錯一行代碼之後哭著找了一千行代碼終於回來寫對這一行代碼學會的東西比較多....
當然在理。你看代碼,只能學會知識點,甚至如果理解不深刻,只是一些信息罷了;而動手培養的是你的思考能力和技能。我記得劉新宇在他的博客還是書里(具體懶得查了,恕諒),講到過類似的問題。具體記不清了,大概意思就是:歐幾里得公式完美吧,但公式背後的數學家的努力和思索,你從公式里是看不出的;這個公式如何推導出來,這其中的思維,極有價值,只有你自己試圖去推導,才可能摸到。同樣道理適用於編程。這些年我看過很多人夸夸其談、滿嘴前沿技術名詞、各種宏大構想,最後寫出來的代碼讓人慘不忍睹,結果也可想而知。為什麼?因為他們只會那些靜態的、描述性的知識,沒有那種從無到有的構建能力,所以遇到一些問題了,他們還是不會。
另外,有些知識,你如果不是自己動手解決類似問題,可能是沒辦法真正掌握的。我不知道你有沒有遇到過類似情況,有些設計或者做法,你怎麼看都沒完全明白背後的道理,直到有一天你自己要處理類似問題。
這句話只是強調動手的重要性,沒必要死摳字眼,看懂1000行絕壁比寫一行收穫大~
這麼多摳字眼的
看,輸入的是外部資料,別人的。寫,輸入的是你的思想,自己的。這句話沒有其他的意思。
這個把實踐看的過於重要,最終會導致閉門造車
對初學者而言,寫代碼重要,對到了一定等級的老手,看代碼重要.
中文裡,三這個字代表多的意思,九也是代表多的意思,千,萬都是代表多的意思。
問題是不看不學你自己能寫出什麼好演算法么。。
不親自動手寫你真的不會發現你連寫hello world都會出bug。
我喜歡把寫代碼和寫作做類比。
無論你看多少書,如果你不肯靜下心來開始寫,是無法學會寫作的。但是,看好書可以加速你學習寫作的過程。同理,讀優秀的代碼,可以加速你學習編程的過程。想成為優秀的程序員,兩者都不可或缺。這句話只是運用誇張的手法,來強調實際寫代碼的重要性,而不是意圖說明讀代碼是不重要的。呃。。。為什麼我感覺兩者一樣重要。。。
自己寫一行代碼寫出的是自己的想法
看別人一千行代碼看到的是別人的思路
光自己埋頭寫代碼無異於閉門造車
光看別人的代碼也只是水過地皮濕所以我覺得兩者結合在一起比較合理
畢竟給你一個新的概念,就算你什麼基礎再好,也需要幾個樣例來告訴你怎樣寫是「好」的很多東西沒必要分哪個不如哪個
比如說喝一瓶水是不是不如吃一斤水果?也許這個例子不太切合這個問題不過you know what I mean認知領域的不說 我覺得單單用手敲一遍產生的肌肉記憶對於初學階段都是很有幫助的
紙上得來終覺淺,絕知此事要躬行。老祖宗都知道這個道理。
紙上得來終覺淺,絕知此事要躬行!!!不下手寫,一些坑是想不出來的,進步實際就是踩坑踩多後知道了怎麼不掉坑。
閱片無數。不如實幹興邦。
基本上學幾分鐘,就可以寫「hello word」。這個真的比得上看千行代碼?
推薦閱讀:
※通過什麼可以了解一個程序員/黑客的真實水平?
※Unix/Linux socket 編程的一個問題?
※如何系統學習有限元技術?
TAG:編程 |