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