※ 引述《musashi023 (太陽魚)》之銘言:
: 諸位資工大神好,我本身是EE背景的
: 因為想脫離design house的生活
: 一直有在刷題+補充Cpp, oop 相關知識
: 之前有幸找到一份junior寫Cpp的工作
: 想了解對各位來說,有沒有一個對於qualified cpp programmer的具體標準
: 我的理解:
: Junior:
: 1. 熟練STL, 能解決被交付的工作
: 2. 熟練應用資料結構
: 3. 熟練使用template (之類的
個人淺見,這點不見得是必要的,template 的 code 常常不好讀不好除錯
正確使用能寫出高彈性高效能的程式,但用過多維護跟閱讀起來會很痛苦
即便不用 template,日常大多數的事情都還是可以完成的,
如果是多人一起維護程式,有時為了提升可讀性,反而會避免太炫麗的 template 技巧
新人的話推薦不妨投資點時間,學習如何改善可讀性和與別人協作
: 4. oop
OOP 歷經時代變遷,很多觀念在改變。當年每本書都在講繼承,各種複雜的多型
甚至多重繼承,但現在很多人改提倡 composition over inheritence,
複雜的繼承漸漸少用,而 polymorphism 有些應用也被 templates 取代
而 functional programming 的 style 在解某些問題反而比 OOP 更好寫
所以了解 OOP 的概念很好,但推薦不要糾結於某些經典的 OOP 觀念
各種武功流派都可以吸收一點,然後不要找太古老的 OOP 書來學
: Senior:
: 1. 能設計軟體架構
: 2. 活用design pattern
這兩點都很好,但還有一樣東西前面網友比較少提到
就是 unit testing。
testable design 和你上面列的兩點,經常是相輔相成的!
: 因為一直擔心自己刷題或是學習的方式太零碎, 侷限
: 故認真發問
: 歡迎各種補充
: