作者HZYSoft (PCMan)
看板Soft_Job
標題Re: [討論] 怎樣算是一個合格的junior cpp programme
時間Mon Aug 22 00:13:22 2022
※ 引述《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 和你上面列的兩點,經常是相輔相成的!
: 因為一直擔心自己刷題或是學習的方式太零碎, 侷限
: 故認真發問
: 歡迎各種補充
: -----
: Sent from JPTT on my Samsung SM-G9960.
--
Sent from PCMan on PCMan's PC
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.167.81 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1661098407.A.907.html
1F:推 eric21489: 挖靠本人 08/22 00:19
2F:推 gigayaya: 朝聖創世神 08/22 00:30
3F:推 gino0717: 之前不知道看哪本template的教科書 前言就開宗明義講 08/22 00:35
4F:→ gino0717: 如果不是真的很有需求其實可以不要用... 08/22 00:35
5F:推 lee457088: 哇 08/22 00:35
6F:推 e12518166339: 本人給推 08/22 00:57
7F:推 Raymond0710: 推 UT testable design 08/22 01:08
8F:推 WZYang: 推 08/22 01:34
9F:推 apple970066: 推 08/22 02:52
10F:推 wulouise: unit testing真的很重要 08/22 07:36
11F:推 undersky: 哇嗚!是PCMAN大大! 08/22 08:33
12F:→ testPtt: virtual好像很常用到template 08/22 10:12
13F:推 Ryzen1700: 推 08/22 13:38
14F:推 mmonkeyboyy: 真的不要沒事template 搞死也不會快 客制化優化超麻 08/22 14:28
15F:→ mmonkeyboyy: 煩的 08/22 14:28
16F:推 shibin: 推 testable design 08/22 16:20
17F:推 vi000246: 大神推 08/22 16:33
18F:推 b0920075: 感覺寫 library 的比較需要 08/22 16:35
19F:→ b0920075: template ? 08/22 16:36
20F:推 Walkers: 朝聖本人,unit test真的很重要 08/22 18:24
21F:推 derekjj: 朝聖 08/22 20:24
22F:推 yuinami: 朝聖 08/22 22:28
23F:推 unmolk: 大神! 08/22 23:26
24F:→ unmolk: 推jr的分享 08/22 23:27
25F:推 becca945: pcman! 08/22 23:30
26F:推 BLINKPTT: 大神朝聖推 08/23 00:43
27F:推 poem5566: 推一個 08/23 01:30
28F:推 aiweisen: 本人推 08/23 07:32
29F:推 xoy232: pcman耶 08/23 09:00
30F:推 lchcoding: 推 08/23 09:03
31F:推 wulouise: testable design另一個好處是你可以更快的測試程式,不 08/23 12:29
32F:→ wulouise: 用架起來環境才能跑 08/23 12:29
33F:推 ppc: 推 08/23 14:44
34F:→ ppc: 請問PC大 TDD有推薦的書嗎? 謝謝 08/23 14:44
35F:推 XGungo: 居然是本人! 朝聖推推 08/23 16:29
36F:推 IPsec: 朝聖推 08/23 18:28
37F:推 stupidlove0: 朝聖!重要的真的是unit test 08/23 18:47
38F:→ HZYSoft: 回樓上 TDD 問題,TDD 不只要測試,還要先寫測試才寫code 08/23 21:33
39F:→ HZYSoft: 很多人無法習慣這種順序,是否一定要 TDD 這有爭議 08/23 21:34
40F:→ HZYSoft: 但程式應該要有好的測試,來保證品質,這應該無爭議 08/23 21:34
41F:→ HZYSoft: unit test 的書最多人推薦 The art of unit testing 08/23 21:34
42F:→ HZYSoft: 我個人的話則是推薦 Manning 的 Effective Unit Testing 08/23 21:35
43F:→ HZYSoft: 在完全還沒寫 code 之前就先寫 test case 這有點極端 XD 08/23 21:35
44F:→ HZYSoft: TDD 這個流派確實有可取之處,如果你可以習慣他的話 08/23 21:36
45F:→ HZYSoft: 我有試驗過幾次,經驗好壞摻半,所以大部分沒有遵循 TDD 08/23 21:36
46F:推 ppc: 謝謝PCMan大大!!! 08/23 21:40
47F:推 Jeniberg: 推 08/23 23:44
48F:推 TeaEEE: TDD最大的阻力來自你的老闆 08/24 11:40
49F:推 umidaisuki: 推 08/24 12:36
50F:推 wulouise: TDD在需求不明確的時候寫會很痛苦,SPEC改testcase全改 08/24 12:43
51F:→ wulouise: 但只有一個test, 還是可以加快開發的iteration, test編 08/24 12:46
52F:→ wulouise: 譯執行時間通 08/24 12:46
53F:→ wulouise: 通常比跑production快很多 08/24 12:46
54F:→ foreverk: TDD比較可怕的是工程師還沒掌握domain,寫出不合理的te 08/24 14:04
55F:→ foreverk: st case,而且自己不知道 08/24 14:04
56F:推 a82611141: 哇靠 08/25 03:01
57F:推 RadiationXen: 推,template 個人經驗認為是把雙面刃,會應用,但 08/25 19:40
58F:→ RadiationXen: 確實也得避免太炫麗的寫法 08/25 19:40
59F:推 jasmine99: 朝聖 09/04 19:43