更新 养成计划.md

This commit is contained in:
jianchunchen 2025-02-12 10:30:34 +00:00
parent 6b0476438c
commit 0a9a359a5e

View File

@ -4,39 +4,42 @@
1. **基础知识学习**
- 阅读模块的文档、技术手册
- 阅读模块的文档和技术手册,重点关注“快速入门”和“核心概念”部分
- 学习模块的核心概念、架构图和基本工作流程
- 学习模块的架构图,理解其主要组件和数据流
2. **代码层面了解**
- 阅读模块的核心代码,理解关键函数和数据结构的功能
- 选择一个核心功能如模块的初始化流程阅读相关代码约200-300行
- 通过代码注释和文档,了解代码的组织结构和调用关系
- 通过代码注释和文档,理解关键函数和数据结构的作用
3. **简单操作练习**
- 运行模块的单元测试UT观察输出结果。
- 下载模块代码编译并运行单元测试UT记录测试结果。
- 修改一个简单的UT用例如修改输入参数观察输出变化。
**证明方法**
1. **代码阅读报告**
- 提交一份代码阅读报告,描述模块的核心代码结构和关键函数的作用
- 提交一份1-2页的报告描述核心代码的功能和调用关系
- 报告中需包含对代码逻辑的理解和疑问。
- 报告中需包含对代码逻辑的理解和至少一个疑问。
2. **操作报告**
- 提交一份详细的操作报告包括UT编译运行和结果确认
- 提交一份操作报告描述UT的编译、运行步骤和结果
- 报告中需包含遇到的问题及解决方法。
3. **展示讲解**
- 向团队展示模块的基本功能和代码结构,并解释其工作原理
- 在团队会议中用5分钟展示模块的基本功能和代码结构
- 回答关于模块基础知识和代码逻辑的提问。
- 回答团队关于模块基础知识和代码逻辑的提问。
---
@ -47,52 +50,52 @@
1. **任务实践**
- 独立完成模块的常见任务修复一个已知Bug、添加一个小功能
- 从Bug跟踪系统中挑选一个低优先级Bug如UI显示错误独立修复并提交代码
- 参与模块的日常维护工作(如:代码合并、上库)
- 参与一次代码合并解决合并冲突并确保代码通过CI持续集成测试
2. **问题定位训练**
- 分析模块的日志,定位常见问题的根因,并记录分析过程
- 选择一个已知问题(如模块启动失败),分析日志文件,定位根因
- 使用调试工具逐步排查问题,并撰写问题排查报告
- 使用调试工具如GDB、IDE调试器逐步排查问题记录排查步骤
3. **回溯分析**
- 研究模块的历史问题Git提交记录、Bug跟踪系统
- 从Git提交记录中挑选一个历史Bug修复分析修复思路和方法
- 分析过去解决问题的思路和方法,总结规律,并撰写总结文档。
- 撰写一份总结文档,描述问题的根本原因和修复方案
4. **理解依赖和限制**
- 学习模块的上下层依赖关系,理解模块在系统中的作用
- 阅读模块的依赖文档,列出模块的上层调用方和下层依赖库
- 了解模块的技术限制(如性能瓶颈、资源消耗)和业务限制(如需求变更、时间压力)
- 分析模块的性能测试报告,记录其性能瓶颈和资源消耗
**自证明方法**
1. **任务成果**
- 提交一个修复Bug或实现功能的代码,并通过代码审查。
- 提交修复Bug的代码并通过代码审查。
- 撰写任务总结报告,描述解决思路和步骤。
- 撰写任务总结报告,描述Bug的修复思路和步骤。
2. **问题排查报告**
- 提交一份问题排查报告,详细描述问题的定位和解决过程。
- 报告中需包含使用的工具、分析方法和最终解决方案。
- 报告中需包含日志分析、调试步骤和最终解决方案。
3. **展示讲解**
- 向团队讲解一个历史问题的解决过程,展示回溯分析的结果
- 在团队会议中用10分钟讲解一个历史Bug的修复过程
- 分享自己在任务实践中的经验和教训,证明对模块的熟悉程度
- 分享自己在任务实践中的经验和教训。
4. **依赖和限制分析**
- 提交一份文档,描述模块的上下层依赖关系和技术限制。
- 提交一份文档,列出模块的上下层依赖关系和技术限制。
- 在团队讨论中展示对依赖和限制的理解。
@ -105,34 +108,34 @@
1. **复杂任务处理**
- 参与模块的核心功能开发或性能优化,并记录开发过程。
- 参与模块的核心功能开发(如实现一个新特性),并记录开发过程。
- 解决模块中的复杂问题(如:并发问题、内存泄漏),并撰写解决方案
- 解决一个复杂问题(如内存泄漏),撰写解决方案文档
2. **架构理解**
- 深入研究模块的架构设计,阅读核心代码,并绘制架构图
- 绘制模块的架构图,标注主要组件和数据流
- 参与模块的设计讨论,提出改进建议,并记录讨论内容
- 参与模块的设计讨论,提出至少一个改进建议。
3. **回溯分析**
- 分析模块中过去的高难度问题(如性能瓶颈、架构缺陷)。
- 分析模块中过去的高难度问题(如性能瓶颈),总结解决模式
- 总结复杂问题的解决模式,并撰写技术文档。
- 撰写一份技术文档,描述问题的根本原因和优化方案
4. **设计折衷与妥协**
- 在设计和开发过程中,权衡不同的技术方案,理解每种方案的优缺点。
- 在设计和开发过程中,列出两种可行的技术方案,比较其优缺点。
- 根据项目需求和限制条件,选择最合适的方案,并解释选择的理由。
- 根据项目需求,选择最合适的方案,并撰写选择理由。
**自证明方法**
1. **复杂任务成果**
- 提交一个复杂任务的代码,并通过严格的代码审查。
- 提交一个复杂任务的代码,并通过代码审查。
- 在团队中展示复杂任务的解决方案,并回答技术细节问题。
@ -144,7 +147,7 @@
3. **展示讲解**
- 向团队讲解一个复杂问题的解决过程,展示回溯分析的结果
- 在团队会议中用15分钟讲解一个复杂问题的解决过程
- 组织一次技术分享,讲解模块的架构设计和优化思路。
@ -163,13 +166,13 @@
1. **技术创新**
- 主导或参与模块的技术创新项目(如引入新技术、重构核心代码)。
- 主导或参与模块的技术创新项目(如引入新技术),并记录项目过程
- 提出并实现模块的改进方案(如性能优化、扩展性提升)。
- 提出并实现模块的改进方案(如性能优化),撰写技术方案文档
2. **领导能力培养**
- 带领团队完成模块的开发或优化任务,记录项目管理过程。
- 带领团队完成模块的开发或优化任务,记录项目管理过程。
- 指导其他工程师,参与技术决策和架构设计,并撰写指导文档。
@ -177,11 +180,11 @@
- 分析模块的历史技术决策,评估其成功或失败的原因。
- 总结模块的技术演进过程,撰写技术白皮书
- 撰写一份技术白皮书,总结模块的技术演进过程。
4. **全面掌握依赖和限制**
- 从全局视角分析系统的依赖关系和限制条件,提出优化方案。
- 从全局视角分析系统的依赖关系和限制条件,提出优化方案。
- 在技术决策中,平衡短期需求和长期目标。
@ -192,13 +195,13 @@
- 提交技术创新项目的成果,并通过团队和上级评审。
- 展示项目对模块的实际影响(如性能提升、成本降低)。
- 展示项目对模块的实际影响(如性能提升、成本降低)。
2. **领导能力证明**
- 提交项目管理记录,展示任务分配、进度跟踪和风险管理能力。
- 通过团队反馈证明领导能力(如沟通能力、决策能力)。
- 通过团队反馈证明领导能力(如沟通能力、决策能力)。
3. **展示讲解**