zoukankan      html  css  js  c++  java
  • 结对编程 第二阶段

    一、实验目标
    1)体验敏捷开发中的两人合作。

    2)进一步提高个人编程技巧与实践。

    二 、实验内容
    1)根据以下问题描述,练习结对编程(pair programming)实践;

    2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。

    3)要求在结对编程工作期间,两人的角色至少切换 4 次;

    4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行。

    三、实验过程

    1、代码规范

    1)变量名要通俗易懂

    2)写一些标注,但不要写太多注释,比如没必要的注释

    3)注意缩进

    4)括号要对齐     

    5)一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且便于写注释。

    6)if、else、for、while、do 等语句自占一行,执行语句不得紧跟其后。此外,非常重要的一点是,不论执行语句有多少行,就算只有一行也要加{},并且遵循对齐的原则,这样可以防止书写失误。

    原博客地址:https://blog.csdn.net/chk218/article/details/84452612?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158536827119724811818785%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158536827119724811818785&biz_id=0&utm_source=distribute.pc_search_result.none-task

    2、程序的总体设计(附图说明模块之间的关系)

    四则运算计算前首先应该判断+-*/之间的优先级

     我这流程图画的确实挺丑的。

    3、程序结对编程过程(附图)及功能实现情况(附代码和图)

    刚开始我和王锦同学用的是QQ的屏幕共享功能,在王锦同学的电脑上编译和运行代码。

    我来口述,王锦同学来敲代码;王锦同学敲代码,并跟我说明功能这两种状态交替进行实现了角色互换。

    其中由王锦同学编写了运算数、运算符还有堆栈的代码;我编写了编写判断输入的符号是否是四则运算符号、判断符号的优先级、两数运算。

     下面是我们结对编程的过程截图。

     

    后来王锦同学说让我也控制键盘,我们又尝试使用远程控制桌面的方法,完成了实验。

    我们的代码实现了差不为负、商不为分数、每答完一题就判断对错并统计答对的题数和分数的功能。

    下图是运行结果截图:

    4、项目github地址(附图)

    我们代码编写完将代码托管到GitHub上,

    github仓库地址 :https://github.com/Wjinfiny/daimaqiaobu

    5、实验总结

    1)编程能力还是有限,没有实现随机产生十个算式的功能,所以讨论后还是采取了手动输入题目的方法,但也是由于手动输入,就没有了四则运算字符串长度的随机性,降低了难度。

    2)但是在编程中遇见的很多问题都顺利解决了。比如:运算结果不能得到分数和负数,判断减数大于被减数,除数除以被除数的余数得零就可以实现。设置出错情况下result=-1000,这样就主函数进行判断,就不会计算不规范的式子  。

    结对编程跟以往的实验都不太一样,很考验双方的协作能力,我跟王锦同学之间的水平差距还是挺明显的,多数时间都是我在问问题,王锦同学给我解答。

  • 相关阅读:
    面试小结
    Everything工具使用
    记 · 工作一周年
    贝叶斯算法原理分析
    MySQL与Oracle主键Query性能测试结果
    K-meams文本聚类算法C++实现
    OPTICS光学算法
    页面添加内容后弹出框与跳转页面
    Webgrid参数格式
    页面2级分类
  • 原文地址:https://www.cnblogs.com/lingluan23333/p/12587574.html
Copyright © 2011-2022 走看看