技术思维
6/27/2023 技术思维
# 技术思维
# 需求分析
- 需求合理性分析,需求是否合理?自己有无更好的建议?
- 需求可行性分析,需求是否可实现?
- 需求完整性分析,需求逻辑是否完整?是否有 PM 未覆盖到的逻辑或场景?
- 需求相关埋点,PM 是否已给出?埋点是否合理?埋点需要 PM 前期给到用于分析
- 以上的相关问题,是否已于 PM 沟通清楚?
- 是否有需要外部协作的点,比如接口、UI、其他部门配合等,先与外部沟通好时间点和内容
- 做好时间规划,确定 Deadline,尽量按照 Deadline 线走
# 技术方案分析
- 针对不紧急的需求尝试自己知识边界以外的技术栈实现
- 针对紧急的需求选取合适的技术栈实现
- 方案是否可以用到一个新的数据结构、算法、设计模式
- 使用思维导图、流程图、架构图等方式做逻辑分析
- 设计实现方案,参考工程中类似需求实现,或参考网上类似代码,
- 针对多种技术实现方案,做好优缺点分析,可放在小组内讨论
- 技术实现方案写到 TAPD 任务里,方便后续回溯
- 设计测试用例
# 编码实现
- 从稳定性、维护性、扩展性角度去设计代码
- 相关埋点埋入代码
- 每次 commit 前 Review 修改的每行代码
- 按照设计用例完成自测,包括业务自测和埋点自测
# 复盘
- 记录代码开发、调试、集成发布整个过程中的不舒服的点,放到小组讨论和网上寻找类似案例,或研究底层原理代码等,最终实现优化,提高开发过程效率
- 上线后关注所做需求数据,了解相关项目 PV/UV 等基本数据
- 因需求紧急而选妥协的技术方案,后续考虑迭代优化
- 了解后端技术实现和相关后台
- 项目重要逻辑写到 README 文件里
# README文件
README文件建议包含以下部分,以使工程更可读、更清晰、方便团队协作、减少上手时间:
- 工程结构说明,介绍工程目录等
- 工程命令说明,安装、调试、发布等命令
- 项目发布说明,发布步骤需要完整记录
- 线上域名等说明,QA、Stage、线上地址等
- 需求物料等说明,需求文档、原型稿、设计稿、接口文档地址等
- 其他,项目注意点、必要解释等
# 面对专项
- 从架构、性能、自动化、工程化等方面去思考整个方案,每个点下列出至少一个可优化的点
- 优化整个开发、调试、发布流程,找到不合理的点进行深度优化
- 画出相关的流程图和技术架构图