作者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/cn.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