看板 Soft_Job 關於我們 聯絡資訊
※ 引述《roy87921 (PH9.0)》之銘言: : 小弟我目前大一升大二 電機系學生(有可能會轉資工 結果八月才會出來) : 大一上學期有上過C++計算機概論(以前沒碰過C) : 用的是C++ How to Program Late Objects Version /7th 這本書 我沒看過這本,看出版日期是 2010,你知道的 C++ 可能和現在的 C++ 有段差距了。 但還是建議你讀完,或者去書店自己挑一本比較新的。 : 學到Class附近 想趁著暑假自學精進一下 (未來想往app或韌體) app 和韌體是兩個天差地遠的方向。 如果你還沒確定,C++ 時間可以花少一點。 : 應該會先把之前上課的內容複習一遍 但再來就沒有方向了 學到 class 附近有很多種意思,你有沒有學到物件導向才是重點。 如果只有學到把 data 跟 operation 收集在一個 class,那個還沒到物件導向。 物件導向要學齊封裝、繼承、多型三個特性,上面那行講的只有封裝而已。 這三個特性學完,你對物件導向的瞭解大概是腳正要開始抬起來,離跨過門檻還早。 因為現在韌體也有 C++ 做的,所以物件導向有機會在這方面應用。 只是你可能被同事投訴,說你故意寫他們看不懂的 code (這我學弟遇過), 開明一點的主管可能要你開教育訓練課程幫忙訓練同事, 所以你可能得學到會教人的程度,不能只是半桶水。 寫 app 就更不用說,物件導向還是要學,所以你現階段可以加強物件導向的部分。 物件導向有三處要學,不能只學末端的物件導向程式設計: 物件導向分析 (OOA) -> 物件導向設計 (OOD) -> 物件導向程式設計 (OOP) 前兩者 C++ 資源有限,很多是以 Java 為範例。 不過 Java 跟 C++ 長得很像,所以你學完 C++ 物件導向看那些書也很容易。 OOA 跟 OOD 入門你直接看 O'Reilly 這兩本: 1. 深入淺出物件導向分析與設計 2. 深入淺出設計模式 先看 1 再看 2,後者算是 OOD 用的 library,只是它是概念而不是程式碼。 讀完以後接著這兩本: 3. Refactoring: Improving the Design of Existing Code 4. Refactoring to Patterns 這兩本都有中譯本,只是我不知道還有沒有在賣。 主要是強化你程式結構的東西,後者屬於物件導向設計的範圍。 OOP 的話你在學特定語言就會學到,應該是你最早期碰到的部分。 確定你未來的方向並選定程式語言以後,你再把它進一步加強。 工程師一般會偏重於 OOD 跟 OOP 的部分,但不瞭解 OOA 會做出莫名其妙的設計。 所以 1 你還是得耐心看,免得你醉心於把工程當成美術在創作還無視需求。 工作上 OOA 你通常管不太到,所以先有個概略瞭解就好。 碩班畢業以前記得去修軟體工程,如果你想走 app 的話。 : 希望前輩們給點建議: : 1.往這本書後面讀(稍微往後翻 內容大概有tree STL Algorithm...) 上面建議給完了。 STL 的使用方法學一學就好,確定要走 C++ 之後你再回來問。 : 2.刷CPE題目 順便做準備 要刷去刷 leetcode,但是建議上碩班再刷,也就是要找工作前刷一刷。 因為你說你要轉資工,所以我就先假設你會拿碩士了。 : 3.學習其他語言 (Python,Java...) 你確定要走 app 還是韌體以後再說,這階段比較建議你自學資料結構而不是更多語言。 比起特定語言,學一下泛用知識會比特定語言還要好。 但這不代表語言不重要,語言是你將來吃飯工具,一旦決定方向你就要把語言學到精通。 : 另外還有一點疑問 我現在是用mac的Xcode在編譯C++ : 有大大能推薦自學熟悉xcode介面操作的資源嗎 : 以前上課作業都是在windows下編譯的 最近剛換電腦... -- Ling-hua Tseng Senior Engineer Compiler Group, RD/Software Division Andes Technology Corporation -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.164.123 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1530247491.A.033.html
johnny94: OOAD 很重要,但可能是我待的地方太鳥,所以根本沒人在 06/29 12:55
johnny94: 意,都只想趕快寫 Code 06/29 12:55
所以讀後面兩本 refactoring 很重要。 OOAD 在學生時代把觀念先建好,實際操作走先寫再重構的路線, 這樣培養的話,比較不會在初期就寫出重構等於重寫的東西來。 至少就算直接寫 code,腦袋裡也會有個概略的設計草圖在,日後改善就好。
roy87921: 感謝t大 心中大概有個方向了 但資結有可能會在大二修正 06/29 16:43
roy87921: 有必要先自學嗎 06/29 16:43
roy87921: *修正課 06/29 16:44
先學不是壞事。 學校一般會把資結教得很理論,偏實作的部分可以先自己領會一下。 ※ 編輯: tinlans (122.116.164.123), 06/29/2018 23:07:11