现有一新建办公大厦,共有21层,共有四部电梯,所有电梯基本参数如下表所示,其使用规定如下:
① 楼层号为0~20,其中0号为地下一层
② 有楼层限制的电梯不在相应楼层停靠,如单双层
③ 所有电梯采用统一按钮控制
④ 请根据上述要求设计并实现一个电梯控制程序,使得用户平均等待时间尽可能小,如果有图形显示就更好了。
测试用例
[(2,2,6),(14,14,10)]
[(2,5,1),(9,16,7)]
[(10,12,17),(9,10,15)]
[(10,6,7),(17,5,15)]
[(7,14,13),(12,16,17)]
功能模块名称 电梯控制程序
头文件和定义文件的目录结构是否合理? 是
程序的板式
重要性 审查性 结论
空行是否得体? 是
代码行内的空格是否得体? 是
“{” 和 “}” 是否各占一行并且对齐于同一列? 是
重要 一行代码是否只做一件事?如只定义一个变量,只写一条语句。 否
重要 If、for、while、do等语句自占一行,不论执行语句多少都要加 “{}”。 是
命名规则
重要性 审查项 结论
重要 命名规则是否与所采用的操作系统或开发工具的风格保持一致? 是
重要 程序中是否出现相同的局部变量和全部变量? 否
表达式与基本语句
重要性 审查项 结论
重要 return语句是否返回指向“栈内存”的“指针”或者“引用”? 否
类的构造函数、析构函数和赋值函数
重要性 审查项 结论
是否错写、错用了拷贝构造函数和赋值函数? 否
3、本次编程实验的总结:
我的伙伴王轲是一个非常努力的同学,他在接到这项任务后,积极完成,虽然他因为疫情原因没有返校,但是学习态度非常积极,总是拉着我在线上完成作业,一起完成编程任务,他的代码也非常清晰,这对于我们的任务完成提供了很大的帮助,我们两个都不是本专业,刚开始感觉很难,后来通过互相鼓励,终于完成了任务,感觉非常开心
这次我担任的是领航员,和同学共同完成这个编程 虽然这个结对编程和个人项目有所关联,但是在实现的时候并不是很一样,我主要的任务是
进行审阅代码、对编码等开发流程的执行,并考虑单元测试的覆盖程度;是否需要和如何重构;在编写代码时帮助我的小伙伴改正一些由于疏忽造成的代码的一些错误。确定代码的主题思维和风格,我的小伙伴充当驾驶员的角色,主要为设计编码 本次实验实际操作都由我的小伙伴来完成,在我们的的共同努力下我们一步步完成了这次实验。得到了以前独自实验中没有的益处。这次实验中,我收获了意想不到的益处,在驾驶员编程的同时因为我不用编写代码,我可以有大量时间更有效地整理我们的思维逻辑,思考更多更优的编程方式。这都是在平时自己独自编程时没有的。
虽然这个项目做完了,但是我知道,这个项目实现的功能其实很简陋,还有可能在后面测试的时候又发现了现在没有发现的问题。在最后完善代码的阶段,每次我们感觉已经很完美了,但是一测试,又有一些小小的问题,然后我们就要开始修改。好在,这个项目我们都是分类写的,遇到问题修改起来还是有头绪有思路的,这又一次证明了模块化编程对于维护修改的重要性。