Re: [心得] 學好程式設計的訣竅

看板C_and_CPP作者 (喵喵叫的蜜蜂貓)時間14年前 (2010/10/08 07:46), 編輯推噓3(307)
留言10則, 6人參與, 最新討論串5/14 (看更多)
學好跟寫好基本上是兩回事情 感覺原PO(chessjim)比較偏向演算法的學習而不是程式設計的學習 ※ 引述《TeaEEE (ECFA內容不明 毛毛的)》之銘言: : 因為手癢回了一段話,想想把一些心得也整理出來,當然每個人的學習方法可能有所不同 : 若有不同學習方式也歡迎分享 : ※ 引述《chessjim (jim)》之銘言: : : 學好程式設計的訣竅 : : 1盡量把課本內容註解到code中 : 學校老師授課可能會教寫程式寫註解是好習慣,但我會建議不要寫註解,也避免看註解。 : 不知道您是否有看過金庸的一本小說,俠客行,故事中一位武林高手將其絕學隱於俠客行 : 的詩中,並透過大量的註解誤導眾多武林高手耗費數十年的精力而不可得的故事。 : 現實的生活可能不會有這麼壞心的人故意寫"假"註解來騙人(可能要離職前會幹這種事嗎, : =.="),但過多或多餘的程式註解,常會影響到我們對原始程式碼的理解,一個最常發生的 : 例子是當程式碼修正時,註解可能未更新,年代久遠後就會造成資訊上的落差。所以與其 : 花心思在寫/讀註解上頭,不如一開始就把程式寫好,學習直接閱讀原始的程式碼。 : 雖然我建議避免寫註解,不過我會註解公式來源,表格,因為這是從程式碼中較難看出來 : 的資訊,此外如果vision control系統不提供簽入註釋或是團隊沒習慣做此動作,程式的 : 改版資訊也是我會加入註解的一個項目。 (這裡講寫好,而不是學好) 每一個還算是有點心得的程式設計師,通常都會有自己的固定寫作風格 包含怎麼樣對變數做命名,縮排寫法,甚至是處理思路怎麼走... 因此,在閱讀自己寫的程式碼時通常比較容易進入狀況 但是當在閱讀別人的程式碼(或是別人在閱讀自己的)時,狀況就不是這樣了 需要花相當的時間築構或是逐一分析行為 寫註解雖然也有寫給自己看的目的,但其實最重要是寫給別人看(或是幾年後的自己) 尤其是函數的引入資訊,每一個變數的定義、值域、用到的全域變數,錯誤處理等 越鉅細靡遺越好 內文的逐行註解就真的不是很推薦使用了,我頂多會註解變數的用途 或是幫比較長的程式碼分成一小節一小節,放個小標題在小節開頭 : : 2心理學研究,課本讀過三遍,會異常清晰 : : 3常念:我要拼命讓所有人都會寫程式 這個我也理解不能? : : 4做300題題目之後,就會有興趣,有經驗,有信心 2 & 4 或許能讓你增加遭遇新題目時候的信心跟處理速度 但是這種「題目」通常都有很明確的「目標」 當你遭遇的是一個專案,這種訓練沒辦法讓你學會怎麼架構整個程式結構 寫程式,其實UI是個很重要的部分 UI的程式碼多半都很單純,就是要控制一些狀態機的東西 多執行續架構的話則會有一些更複雜的東西 這些都是解題練習遇不到的東西 : : 5google題目,並註解在code開端 你題目寫太多了 這點我跟TeaEEE意見一樣,你應該找一些Project來做,甚至是自己嘗試解決自己的問題 而不是一直找設計過的題目來寫 現實世界不是每個題目都有唯一解,甚至有些還無解 : : 6在ptt,知識加,作業版提問後,將得到的Ans註解在code中 這種註解真的就多餘了 : : 7不斷維護一個網頁程式碼 這個OK -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.180.163 ※ 編輯: SmallBeeWayn 來自: 122.116.180.163 (10/08 15:55)

10/08 15:57, , 1F
你說的那些註解 其實不用是以註解的型式存在
10/08 15:57, 1F

10/08 15:58, , 2F
茶三E的意思應該是抽出來成一份完整的DOC 而不是散在各處
10/08 15:58, 2F

10/08 15:59, , 3F
零碎又難以維護"註解" 沒有維護的註解過期反而是種誤導
10/08 15:59, 3F

10/08 16:39, , 4F
我的程式經驗直接就教於兩位書卷獎教授,所以......
10/08 16:39, 4F

10/08 17:00, , 5F
教授就很會寫程式?
10/08 17:00, 5F

10/08 17:23, , 6F
大部分教授教,演算法很會寫,軟體工程觀念很差...
10/08 17:23, 6F

10/08 17:23, , 7F
畢竟他們那個時代,還不盛行
10/08 17:23, 7F

10/08 18:25, , 8F
請問要去哪裡找project來做?
10/08 18:25, 8F

10/08 18:58, , 9F

10/08 19:19, , 10F
感恩 <(_ _)>
10/08 19:19, 10F
文章代碼(AID): #1Chinaya (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1Chinaya (C_and_CPP)