ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

结对编程--中小学数学卷子自动生成程序代码互评(2)

2021-10-10 10:33:42  阅读:176  来源: 互联网

标签:结对 QT 项目 -- 编程 c++ 生成 互评 程序代码


本博客为吴贞逸和黄泽云的结对编程项目总结


  • 一、选择实现结对编程项目的技术

说实话一开始并没有想用C++和QT的方式来实现这次的结对编程。在个人项目中我使用的是python而黄同学使用的是Java,都不是c++,但是当我们仔细阅读项目需求说明并同自己个人项目的实现情况比较后,我们决定将一切推倒重来。就我个人而言,个人项目中存在着以下问题:封装性不够,很多函数需要重写,登录方式需要重构;出题逻辑不够合理,很多题目难以计算。所以,最后我们选择了我俩都熟悉的语言c++。而说到c++的UI,肯定不会去用网页,因为c++本身就有一个很棒的QT支持,而我学习过一点pyqt的内容,所以上手也会稍微快一点。

  • 二、复用说明

由于语言的更换,直观上代码的复用基本是不可见的。但是部分代码逻辑还是汲取了个人项目中较为优秀的思想,比如生成题目的逻辑,仍然是先对操作数操作符进行考虑再对括号进行考虑;用户登录和修改密码等账户类操作也是用对txt文件读写实现。

  • 三、经验教训

这次的结对编程项目存在着许多难点。首先是基础的技术方面。虽然我们都很熟悉c++,但是用起来确实不怎么顺手,习惯了python和Java便捷的接口后,总觉得c++的开发特别繁琐缓慢。然后是QT,虽然是基于面向对象,但是每一个控件都是一个类,调用起来也很是麻烦,不像pyqt那样能直接一个函数搞定;对于QT creator的使用也不是很熟练,导致在生成发布版本时出现了一些问题;在生成完整项目时还要学习资源文件的编写。然后是需求实现方面的难点。如前文所述,我们之前的题目生成逻辑虽然能生成题目,但基本无法计算,于是我们引入了π,并以π/4和π/6为最小单位,使得三角函数值可计算;答案设置方面也会有困难,为了更具迷惑性、更贴近实际,我们不能直接以随机数出答案,而应该以计算结果为基准来出答案。这种贴切实际的考量使得我们的代码更加复杂,需要更多的逻辑判断。

当然,经过这次项目也收获了许多,我对QT和QT creator的操作更加熟练了,也重新捡起了很多c++的知识。对于过程中的难点的克服,有时还得多多上网查询学习。给我印象最深的两个关键词“做中学”和“万事开头难”,学习QT的时候对着网上的教学视频和资料,有时看了后面忘了前面,看完后使用时又感觉什么也没学会,总是感觉很难理解运用,只能通过对界面重复的改来改去然后观察结果来倒逼自己熟练设计方法,因此觉得很是折磨。但看到稍微人性化一点点的界面以后的成就感会慢慢冲淡畏难的情绪,从而坚持完成项目。

QT creator生成项目时编译还遇到了一个问题多方求助上网查询都没有解决。最后仔细看报错详情才解决了。
https://www.cnblogs.com/wtdyyds/p/15388772.html

标签:结对,QT,项目,--,编程,c++,生成,互评,程序代码
来源: https://www.cnblogs.com/wtdyyds/p/15388740.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有