请将本文件在代码仓库外复制一份 ,一边阅读和完成结对项目、一边填写入代码仓库外的版本 ,或采取简记、语音备忘等方式记载较复杂问题的要点之后再补充。请不要将本文档内的作答提交到代码仓库。
Chapter.0 Belua multorum es capitums.(你是多首的怪物。)
→ 📖 Q0.2(I) 作为本项目的调查:请如实标注在开始项目之前对 Wasm 的熟悉程度分级,可以的话请细化具体的情况。
I. 没有听说过;
II. 仅限于听说过相关名词;
III. 听说过,且有一定了解;
IV. 听说过,且使用 Wasm 实际进行过开发(即便是玩具项目的开发)。
Chapter.1 不畏迷茫,只管前进。(迷子でもいい、前へ進め。)
→ 📖 Q1.2(P) 请在完成任务的同时记录,并在完成任务后整理完善:
浏览任务要求,参照 附录A:基于 PSP 2.1 修改的 PSP 表格 ,估计任务预计耗时;
完成编程任务期间,依次做了什么(比如查阅了什么资料,随后如何进行了开发,遇到了什么问题,又通过什么方式解决);
→ 📖 Q1.3(P) 请说明针对该任务,你们设计和实现测试的方法及过程,包括但不限于:出于对需求的哪些考虑设计了哪些测试用例、如何评估所设计测试的有效性 等等。
→ 📖 Q1.4(I) 请说明单元测试对软件开发的作用。
→ 📖 Q1.5(P) 请记录下目前的时间,并根据实际情况填写 附录A:基于 PSP 2.1 修改的 PSP 表格 的“实际耗时”栏目。
Chapter.2 即使迷茫,也要前行。(迷子でもいい、迷子でも進め。)
→ 📖 Q2.2(P) 请在完成任务的同时记录,并在完成任务后整理完善:
浏览任务要求,参照 附录A:基于 PSP 2.1 修改的 PSP 表格 ,估计任务预计耗时;
完成编程任务期间,依次做了什么(比如查阅了什么资料,随后如何进行了开发,遇到了什么问题,又通过什么方式解决);
→ 📖 Q2.3(P) 请说明针对该任务,你们对 🧑💻 T2 中已实现的代码进行了哪些复用和修改。
→ 📖 Q2.4(I) 请说明在编码实现时,可以采取哪些设计思想、考虑哪些设计冗余,来提高既存代码适应需求变更的能力。
**→ 📖 Q2.5(P) **只吃一个食物可满足不了贪吃蛇的欲望,请一起思考并简述以下场景中贪吃蛇的策略:
在 🧑💻 T2 的基础上,场地里不再是只有 1 个果子,而是总共有 n 个果子 (1 < n < 10 ),果子随机分布在场地中且不会刷新,保证不与障碍物重叠,保证每个果子均可达,且至少存在一条成功吃掉所有果子的路线,其余条件保持不变,请你找出一条吃完所有果子的行动路径。
→ 📖 Q2.6(P) 请记录下目前的时间,并根据实际情况填写 附录A:基于 PSP 2.1 修改的 PSP 表格 的“实际耗时”栏目。
Chapter.3 这就是我的前进、到我出场了!!!!!(It's MyGO!!!!!)
→ 📖 Q3.2(P) 请在完成任务的同时记录,并在完成任务后整理完善:
浏览任务要求,参照 附录A:基于 PSP 2.1 修改的 PSP 表格 ,估计任务预计耗时;
完成编程任务期间,依次做了什么(比如查阅了什么资料,随后如何进行了开发,遇到了什么问题,又通过什么方式解决);
→ 📖 Q3.3(P) 请说明你们如何建模这一需求。
→ 📖 Q3.4(P) 请说明针对该任务,你们采取了哪些策略来优化决策。具体而言,怎么避免死亡?怎么吃到更多果子?如何编程实现。
→ 📖 Q3.5(P) 请说明你们如何量度所实现的程序模块的有效性,例如:“如何说明我们的程序模块对弈能力很强?”尝试提出一些可能的定量分析方式。
→ 📖 Q3.6(P) 请记录下目前的时间,并根据实际情况填写 附录A:基于 PSP 2.1 修改的 PSP 表格 的“实际耗时”栏目。
→ 📖 Q4.1(P) 提供两人在讨论的结对图像资料。
→ 📖 Q4.2(P) 回顾结对的过程,反思有哪些可以提升和改进的地方。
→ 📖 Q4.3(I) 锐评一下你的搭档!并请至少列出三个优点和一个缺点。
→ 📖 Q4.4(I) 说明结对编程的优缺点、你对结对编程的理解。
→ 📖 Q4.5(P) 请提供你们完成代码实现的代码仓库链接。
附录A:基于 PSP 2.1 修改的 PSP 表格
Personal Software Process Stages
个人软件开发流程
预估耗时(分钟)
实际耗时(分钟)
PLANNING
计划
- Estimate
- 估计这个任务需要多少时间
DEVELOPMENT
开发
- Analysis & Design Spec
- 需求分析 & 生成设计规格(确定要实现什么)
- Technical Background
- 了解技术背景(包括学习新技术)
- Coding Standard
- 代码规范
- Design
- 具体设计(确定怎么实现)
- Coding
- 具体编码
- Code Review
- 代码复审
- Test Design
- 测试设计(确定怎么测,比如要测试哪些情景、设计哪些种类的测试用例)
- Test Implement
- 测试实现(设计/生成具体的测试用例、编码实现测试)
REPORTING
报告
- Quality Report
- 质量报告(评估设计、实现、测试的有效性)
- Size Measurement
- 计算工作量
- Postmortem & Process Improvement Plan
- 事后总结和过程改进计划(总结过程中的问题和改进点)
TOTAL
合计