这个作业的课程在哪里 | 计科国际班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 实现一个自动生成小学四则运算题目的命令行程序 |
GitHub地址
组员 | 学号 |
---|---|
陈鹏 | 3119009457 |
朱炫昊 | 3119009449 |
古竞楷 | 3119009429 |
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 10 | 20 |
Estimate | 估计这个任务需要多少时间 | 10 | 20 |
Development | 开发 | 610 | 1310 |
Analysis | 需求分析 (包括学习新技术) | 300 | 400 |
Design Spec | 生成设计文档 | 60 | 80 |
Design Review | 设计复审 | 30 | 40 |
Coding Standard | 代码规范(为目前的开发制定合适的规范) | 20 | 30 |
Design | 具体设计 | 120 | 340 |
Coding | 具体编码 | 50 | 300 |
Code Review | 代码复审 | 30 | 120 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 90 |
Reporting | 报告 | 30 | 50 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 30 | 40 |
合计 | 680 | 1420 |
因为上一次作业所用的语言是python,所以这一次作业在最开始的时候也是用python来实现。在粗略的实现了一小部分功能之后,我们在如何把表达式列表循环写入文件上遇到了困难。我们甚至在这个地方花费了四五个小时但没有取得丝毫进度。不停的修改代码,一直出现错误。在参考了其他同学所提交的作业后,发现绝大多数的同学在这一次作业中是用C写的。虽然心有不甘,但是时间已然不多。如果不转换方法连作业都交不上。因此我们决定用C来写。
首先使用switch语句去随机生成操作符,然后随机指定两个数字。但是这个是针对小学的,所以对于减法的要求上我们会进行被减数大于减数的一个判断。
能支持10000道以上的题生成
本次项目一开始我们选用Python语言进行编译,但因为对其接触和理解得不够深入,导致处处碰壁。所以我们不得不放弃Python,转而去使用C语言进行编译。
然后在完成结对项目中,我们发现了以下几个问题:
①在分功能编写代码时,由于未分配清楚导致我们的代码会有重复的部分,并不能实现1+1>2的效果。
②自己负责的代码交给别人手中时,由于没有做注释的习惯以及命名的随意,导致别人理解起来需要一定的时间,更有甚者需要进行口头解释,浪费了一定时间,效率降低。
③由于对编码的不熟悉,在开发和测试的环节所用的时间仍然还是与预估时间相差较大。