Re: [討論] 怎樣算是一個合格的junior cpp programme

作者: HZYSoft (PCMan)   2022-08-22 00:13:22
※ 引述《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 和你上面列的兩點,經常是相輔相成的!
: 因為一直擔心自己刷題或是學習的方式太零碎, 侷限
: 故認真發問
: 歡迎各種補充
:
作者: eric21489 (Calpis)   2022-08-22 00:19:00
挖靠本人
作者: gigayaya (gigayaya)   2022-08-22 00:30:00
朝聖創世神
作者: gino0717 (gino0717)   2022-08-22 00:35:00
之前不知道看哪本template的教科書 前言就開宗明義講如果不是真的很有需求其實可以不要用...
作者: lee457088   2022-08-22 00:35:00
作者: e12518166339 (耐綸)   2022-08-22 00:57:00
本人給推
作者: Raymond0710 (雷門)   2022-08-22 01:08:00
推 UT testable design
作者: WZYang (WZYang)   2022-08-22 01:34:00
作者: apple970066 (apple970066)   2022-08-22 02:52:00
作者: wulouise (在線上!=在電腦前)   2022-08-22 07:36:00
unit testing真的很重要
作者: undersky (undersky)   2022-08-22 08:33:00
哇嗚!是PCMAN大大!
作者: testPtt (測試)   2022-08-22 10:12:00
virtual好像很常用到template
作者: Ryzen1700 (KABAN)   2022-08-22 13:38:00
作者: mmonkeyboyy (great)   2022-08-22 14:28:00
真的不要沒事template 搞死也不會快 客制化優化超麻煩的
作者: shibin (喜餅)   2022-08-22 16:20:00
推 testable design
作者: vi000246 (Vi)   2022-08-22 16:33:00
大神推
作者: b0920075 (Void)   2022-08-22 16:35:00
感覺寫 library 的比較需要template ?
作者: Walkers (walkers)   2022-08-22 18:24:00
朝聖本人,unit test真的很重要
作者: derekjj (忘記帳號的男子)   2022-08-22 20:24:00
朝聖
作者: yuinami (yuinami)   2022-08-22 22:28:00
朝聖
作者: unmolk (UJ)   2022-08-22 23:26:00
大神!推jr的分享
作者: becca945 (頻果芽子)   2022-08-22 23:30:00
pcman!
作者: BLINKPTT (炸雞勇者)   2022-08-23 00:43:00
大神朝聖推
作者: poem5566 (幹你蜆仔)   2022-08-23 01:30:00
推一個
作者: aiweisen (艾維森)   2022-08-23 07:32:00
本人推
作者: xoy232 (鬼島希特勒)   2022-08-23 09:00:00
pcman耶
作者: lchcoding   2022-08-23 09:03:00
作者: wulouise (在線上!=在電腦前)   2022-08-23 12:29:00
testable design另一個好處是你可以更快的測試程式,不用架起來環境才能跑
作者: ppc ( )   2022-08-23 14:44:00
推請問PC大 TDD有推薦的書嗎? 謝謝
作者: XGungo (XGungo)   2022-08-23 16:29:00
居然是本人! 朝聖推推
作者: IPsec (網際網路安全協定)   2022-08-23 18:28:00
朝聖推
作者: stupidlove0 (MinusYuan)   2022-08-23 18:47:00
朝聖!重要的真的是unit test
作者: HZYSoft (PCMan)   2022-08-23 21:33:00
回樓上 TDD 問題,TDD 不只要測試,還要先寫測試才寫code很多人無法習慣這種順序,是否一定要 TDD 這有爭議但程式應該要有好的測試,來保證品質,這應該無爭議unit test 的書最多人推薦 The art of unit testing我個人的話則是推薦 Manning 的 Effective Unit Testing在完全還沒寫 code 之前就先寫 test case 這有點極端 XDTDD 這個流派確實有可取之處,如果你可以習慣他的話我有試驗過幾次,經驗好壞摻半,所以大部分沒有遵循 TDD
作者: ppc ( )   2022-08-23 21:40:00
謝謝PCMan大大!!!
作者: Jeniberg (與世界接軌)   2022-08-23 23:44:00
作者: TeaEEE (愛不趴 不愛趴)   2022-08-24 11:40:00
TDD最大的阻力來自你的老闆
作者: umidaisuki   2022-08-24 12:36:00
作者: wulouise (在線上!=在電腦前)   2022-08-24 12:43:00
TDD在需求不明確的時候寫會很痛苦,SPEC改testcase全改但只有一個test, 還是可以加快開發的iteration, test編譯執行時間通通常比跑production快很多
作者: foreverk (文藝青年)   2022-08-24 14:04:00
TDD比較可怕的是工程師還沒掌握domain,寫出不合理的test case,而且自己不知道
作者: a82611141   2022-08-25 03:01:00
哇靠
作者: RadiationXen (Xen)   2022-08-25 19:40:00
推,template 個人經驗認為是把雙面刃,會應用,但確實也得避免太炫麗的寫法
作者: jasmine99 (帶我翱遊天際)   2022-09-04 19:43:00
朝聖

Links booklink

Contact Us: admin [ a t ] ucptt.com