• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

郭芮

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

结对编程总结

结对编程总结

    经过为期10天的中小学数学卷子自动生成双人编程项目,本人从中收益颇多。现对过程中的复用、经验、教训三点进行总结,回顾项目过程。

一、复用总结

1.数据库使用

Drawing

    根据结对编程需求,考虑到新增的分数计算功能需要,结合个人项目中对数据库的运用,选择使用数据库对题干、选项、答案进行存储。数据库中包含如下8列:

    id:题目编号

    question:题干信息

    answer1:答案1

    answer2:答案2

    answer3:答案3

    answer4:答案4

    correct:正确答案的位置

    type:题目难度类型(小学、初中、高中)

2.结果计算

    关于正确答案的计算,经过查找资料与阅读发现,Python语言中包含一种具有自行转换字符串并计算结果能力的函数——eval()。该函数可对本项目中数学题目的结果计算提供了很大的支撑。所以结对项目语言调整为Python,并在结果计算功能上运用了eval()函数,实现答案计算。

    需要注意的是,在使用eval()时,需要引入math库,并在处理过程中需对表达式进行“math.”字符串补充,保证正常运算的进行。

for i in functions:
        if i in expression:
            expression = expression.replace(i, 'math.{}'.format(i))

  关于错误答案的设置为本项目的新增逻辑。通过随机种子生成错误答案与正确答案的差值,并在正确答案的基础上加上该差值,实现近似正确答案的错误答案计算。

for _ in range(3):
                temp = random.uniform(0.1, 9.9) - 5
                if temp == 0:
                    temp = 0.1
                tmp.append(res + temp)

3.逻辑运用

  根据结对编程需求文档,对主流程进行了调整优化。同时,将个人项目中的试卷生成逻辑,引入到本项目中,实现试卷生成功能。

二、经验收获

1.前后端构建

    因为本项目使用Web+Server模式,所以在过程中对前后端联系、跨域通信等知识有所了解,并具有了一定的实践经验。

2.组件使用及对象存储

    在前端构建中,阅读并查找了许多组件,了解了其使用;在后端中,使用Session进行用户对象的存储,对登陆后修改密码等需求的实现进行了实现。

3.数据库共享

    远端合作编写代码时,对数据库共享操作进行了熟悉,也对服务器相关知识进行了学习。

三、教训积累

1.cookie-session状态组件安全规范更新

    由于浏览器对cookie-session状态组件进行了同源要求,不同途径登陆浏览器不被允许,所以在编写过程中遇到了相关的阻碍。由此吸取到的教训为,各类技术实时更新,我们需要随时关注最新要求与规范。

2.团队协作中沟通的重要性

    在远端合作编写代码过程中,沟通显得十分重要,需要对进度、实现等多方面进行及时地探讨,保证项目的顺利推进。

posted on 2021-10-10 21:53  郭芮  阅读(39)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3