※ 引述《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 和你上面列的两点,经常是相辅相成的!
: 因为一直担心自己刷题或是学习的方式太零碎, 侷限
: 故认真发问
: 欢迎各种补充
: