wps实习四个月后
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 不可能用的,产品的一些需求也就得打回了。不用写多指需求了,但多指滑、多指捏在继续考察,应该可以通过触控点的坐标识别手势,但自定义手势多了可能就不能做到精准识别了。...