wps 实习四个月后的一些思考和新规划
wps 的实习已经告一段落,玩了一段时间,迷茫了一段时间,整理代码一段时间,现在写一篇思考。
wps 实习内容
在 wps mac 组实习四个月,接手的需求有:
- 移植 pc 功能
- Excel 批量计算
- 交互功能
- 空格键进入图片预览
- 双指滑动(滚轮)移动图片
- 双指拍&双指捏缩放图片
- 双指旋旋转 wps 对象
- 双指/右键拖复制 wps 对象
- 优化需求
- 多级窗口 modal 规范
- 新建文本框默认设置添加选项
- 复制图片清晰度优化
- Excel 单个单元格复制形式改为纯文本
- 半成品需求
- 光标 icon 替换为高清图
- Excel 底部 sheet 平滑移动
- 文本框添加只复制文本功能
- 三指捏需求
感觉这些需求都挺无聊的,所以才交给一个实习生写吧。多级窗口 modal 规范,该需求阅读了大量 qt 源码。触控板扩展需求考察了一堆开源代码,学习了 objective-c 和 swift。也就这两个需求有点意思。
实习过程技术成长
刚入职先学习公司代码规范、工程规范,和一些工作流程。第一次用到心心念念的 mac,也花了点时间来熟悉,用过很多发行版 Linux,上手 mac 也很快。wps 产品由用 qt+c/cpp 完成,技术方面先学习 qt。第一个需求移植 pc 已有的 Excel 批量计算功能,需要添加的代码都在一起,不需要调试,直接上手敲码就好,qt 方面也只需要学习 dialog 的创建,和事件的处理。第二个需求空格键进入图片预览,该有的 api 都有,但需要找到适合修改的代码块,因为不会调试所以花了一个多星期,还是最后组长教会了我调试来定位代码和了解功能的执行流程。后面都是一些调 api 的需求,以及学会 qt 某部分的使用就能写的需求。多级窗口 modal 规范需求,考察了很久才定位到 qt 的 bug(pc 没问题,mac 有问题,应该第一时间就测试一下是不是 qt 的 bug),为解决 bug 阅读了大量 qt 源码,对 qt 的一些特性有了更深了了解,学习框架还是得直接读源码。qt 源码面向对象,以 c++11 为标准(qt6 以 c++17 为标准),范型编程到处都是,可读性很好,比 wps 代码好的多。离职前的需求是 mac 触控板相关的,网上资料很少,只有 github 上有几个项目,为了看懂代码就去学了 objective-c,顺便学了 swift(语法方面 c/cpp yyds,oc 真反人类,swift 也习惯不了)。做了一些考察才知道 apple 有 Private API 这个东西,mac 触控板增强软件都用了这部分 api,wps 不可能用的,产品的一些需求也就得打回了。不用写多指需求了,但多指滑、多指捏在继续考察,应该可以通过触控点的坐标识别手势,但自定义手势多了可能就不能做到精准识别了。
实习过程不足
实习过程还是有一些问题暴露出来。最大的问题应该就是不喜欢码字,提测邮件都不想写,周报和提测邮件被 cue 过,组长让我写开发文档也一次没写过。感觉码字的问题需要正视一下,不仅是工作流程中的常规码字,还有一些技术分享内容,这也是对个人和工作都有帮助的。所以打算以后以该 blog 为契机多写一些技术分享内容。由于实习疏忽了算法题,现在很多题的解法都生疏了。现在回头看刷算法题确实可以提升思维,也是为了以后面试做准备,应该让刷算法题成为一个习惯。之前刷了一堆不同难度的算法题,几乎覆盖了所有类型的算法,但没有做过一次归纳总结,也没写过一篇算法文章。今后每天刷一定量题,也要做归纳总结写稿。大学技术积累只有 c/cpp,其他技术都不会,不会一个框架,没有达到技术上的广度。今后需要多积累一些其他技术,学习一下 go、web 前端、机器学习,和一些较火的框架。新技术的积累是从头开始,学习过程也要通过 blog 形式记录一下。虽说大学只学了 c/cpp,但深度也是没达到的,引以为傲的语言方面和大佬交流后发现,还是有一堆东西不知道的。c/cpp 的一些附属技术也只是了解。短期内没有转技术的想法,所以技术方面还是以 c/cpp 方面为主。wps 实习是一次接触大型的工程代码,为了更好的写工程代码,还需要学习重构相关的技巧,架构知识入门,熟练掌握范型编程,设计模式熟练选择和运用。
对未来的焦虑
老实说工作和我想象中的并不一样,你不是只需要一心一意的写好你的代码就好。还需要和其他人对接,完成自己的 okr,完成小组的 okr。牺牲个人,顺应小组的方向。个人对公司来说就是一颗螺丝钉,在我所做的工作压根看不到自己的痕迹,做的技术也是没意思的 CURD,写一些 shit 需求的业务代码,和一些前辈聊了之后发现大厂也有这般问题。之前从来没想过这个问题,就算想到了也不会觉得这是个问题。实习离职后也思考一番人生,还冒出自己创业的可笑想法。b 站 UP 主推荐《软技能》一书,在书中找到了一些问题的答案。工作了就要尽量别让工作侵占生活,下班后可以自己做饭、去健身,养一只猫,做一些技术之外的事。而打工这件事应该要以平常心对待,工作是公司的,个人发展是自己的。技术方面下班后刷几个算法题,看几篇技术文章,也要做到技术产出。
好好学习吧。技术和 money 都会有的!