结对编程

结对编程-软件1704-陈帅

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-30 16:55:23
1.对于个人项目的复用: 个人项目中重要程序是根据输入的年纪随机生成对应年级的试卷,在结对编程中随机生成运算的代码被拿来复用,其中代码利用数组储存符号以及数字的方式在结对编程中仍然适用,而且根据不同的年级对符号的判断也十分有效。 2.结对编程的经验教训: (1)学会了很多UI界面的按键设置以及对于输入框内容的获取以及对于按键是否按下的判断,还有选择按键的设置 (2)在进行字符串比较时如果字符串之间不能直接比较就调用函数,如果调用函数比较依然报错则可将其转化为字符数组进行判断。 (3)学会了如何借助榛子云平台向手机发送短信验证码(需要下载并设置SDK的路径)。 ( 4 )在进行代码调试的时候一定要一步步进行如果报错则可以马上寻找自己的错误点,切忌一次修改太多代码导致自己找不到刚刚改的代码在哪里。 ( 5 )在计算算式的时候看到了网络上大牛们解决问题时调用的非常多的简单又方便的函数。 ( 6 )结对编程分工写代码再合并后有时会发生字体不兼容的报错,此时则需要重写双引号内部的字体。 (7)编写比较大的工程的时候不建议直接就上手,最好在写代码之前预先想好代码的框架,以及关于用户的类,按照自己设计的框架则可以行云流水地编写自己的代码。 (8)在遇到困难时不要执着的一直卡在那里尝试着先完成其他部分再来处理卡住你的问题。 来源: https://www.cnblogs.com/haha-403

结对编程总结之我的血汗泪

半腔热情 提交于 2019-11-30 16:55:08
一、项目需求 这次要求是设计一个带UI的小初高数学学习软件,具体功能如下: 1、用户注册功能。用户提供手机号码并收到一个注册码,使用该注册码完成注册; 2、用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改成功; 3、密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量; 4、用户输入题目数量后,生成一张试卷,界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题; 5、最后一题提交后,界面显示分数,分数根据答对的百分比计算; 6、用户在分数界面可选择退出或继续做题; 7、小初高数学题目要求见上次的个人项目。 二、实验过程 1、 实验环境搭建 在之前的个人项目中,我的代码是用python写的,而我的搭档路宁则是用的C++。而这次的结对项目要求有UI界面, 所以我们决定以我的代码为基础来完成这次的作业。首先就是环境的搭建了,我们选用的是Anaconda3+eric6+pyqt5 的组合(因为 据说 比较容易上手)。但是俗话说得好,千里之行,“止于”足下,我的第一步就走得非常惨烈。我最先 是跟着网上很详细的安装教程一步一步走的,但是不出所料,由于软件版本不同

结对编程分析

纵饮孤独 提交于 2019-11-30 16:54:48
结对编程评价博客 前几周,我们完成了个人项目编程。而我们紧接着就根据个人项目完成了结对项目。总结如何复用个人项目实现结对编程项目,以及结对编程的经验、教训 --------------------------------------------------------------------- 队友的个人项目用的是java,我用的是c++,虽然我们的语言用的不同,但是根本上都是利用rand得到随机数然后随机操作,并区分为小初高三个层次,所以我们的结对项目就是利用这个根本思想。但是因为个人项目需求和结对项目需求要求有所不同,我们是借鉴了两个个人项目的根本思想:首先确定小初高哪个层次,接着不同层次的学生出不同的题目,至于题目的出法就是利用随机函数,比如假若随机数等于一就是加法操作符,等于二就是减法以此类推。 首先我们看一下结对项目需求: 用户: 小学、初中和高中学生。 功能: 1、用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册; 2、用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功; 3、密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;

结对编程心得

允我心安 提交于 2019-11-30 16:52:53
总的来说本次结对编程比较成功,我和队友都获益良多,同时在此不仅学到了代码怎么写,算法怎么构建首先他的代码易读性很高,没有使用很难的函数,而且注释详略得当,没有备注的地方,用心研究一下,也可以读懂。其次她整体的构思很清晰,使用类做分装,各个函数的功能明确、调用关系清晰,方便后续新增功能的扩写与修改。第三她的代码与用户的交互很好,能提示用户需要做什么。读完了对方的代码,大致意思是了解了,但对于某些语句的使用还存在着一知半解的感觉,后续还要细细请教一下。 她的代码书写整洁,符合代码规范要求且关键地方都有注释,便于阅读,变量和函数命名具有现实意义。 功能实现方面程序几乎是完美的实现了所有的功能。这次结对编程队友对我帮助很大,存在问题时及时沟通,共同尽力完成了这次结对编程项目任务。 来源: https://www.cnblogs.com/tnk0816/p/11604894.html

结对编程总结

点点圈 提交于 2019-11-30 16:51:39
用户界面 对于个人项目的复用:     结对编程对与个人项目的复用主要是随机出题部分.在个人项目中,我已经实现了随机出题,当时是自己写了一个函数.在结对编程中,我建立了一个新建了一个类,类中只有一个static函数用来产生题目,返String[]数组,一系列题目.但是,由于还要计算每个算式的值,我导入了一个计算算式的包,因此我还需要返回一个能够被计算的字符串.因此,对于每道题,我需要返回两个字符串,一个用于显示给做题人,另一个用于函数处理得到算式结果. 项目设计:    结对项目相比与个人项目主要是多了GUI的界面,因此一共分为两部分:内部函数逻辑处理、用户界面的设计.   逻辑处理:对于这个项目,逻辑还是很容易实现的,不外乎就是随机出题,密码校验,操作文件,相对容易.   UI界面:而AVA中提供了JFrame等类可以做界面,之前已经有了解,主要问题在于如何优化界面样式.因此,学习如何配色,布局是UI的重点. 经验教训:    1. 1+1 <= 2;在结对编程中,我深刻的体会到就是:没有良好的沟通,"1 + 1 <= 2 ".两个人一起写代码,那个分格迥异,谁也看不惯谁的代码,难以理解.因此,统一编码规范十分有必要.另外当你需要其他人实现函数时,最好把函数体写好(两个统一一下),统一传入参数,统一返回类型.这样就可以做到无缝衔接.   2.本次还是学习了很多东西,例如

结对编程总结

此生再无相见时 提交于 2019-11-30 16:50:47
对个人项目的一次升级,在个人项目的需求上加入了新的需求 ——界面、注册和验证码发送。 界面的编写难度并不高,如果真的要说难点的话,那就是繁杂的界面布局和按钮功能的实现以及各种界面出现的触发逻辑。另外,对于运算结果及选项生成的逻辑我也选择了放在界面的实现中,而生成题目的方法则复用了队 用户注册的实现则采用了文件输入输出流的方式,将用户的信息存储在了相应位置的 txt 文件中,这种方法相当简略,没有任何的加密,是不可取的一种方式,但是本人水平有限,不得已采用了这种方式。 至于验证码发送功能的实现,则是申请了阿里云的短信服务,老实说,一开始我并不觉得自己能完成结对编程的所有功能,因为自己 java 学的并不是特别好,对于 UI 编写也只是稍有了解,至于“发送短信”这么高大上的功能我更是从未接触过,一点头绪都没有,但是最后居然在一周半的时间硬生生做了出来,惊了。 最大的好处就是,两个人在一起写代码的时候能够融合两种不同的思路,一个人写的时候另一个人可以浏览,这样能够让代码准确性更高。两个人一起写代码,便于尝试新的代码风格和变量命名,以及代码风格和命名风格的统一 不用再 pull 和 push 之间各种 merge 能够平衡组员之间工作量增进组员之间的感情结对编程的弊首先结对编程两个人同时写一份代码,但是写的速度并不会快出两倍

带UI的小初高数学学习软件

我只是一个虾纸丫 提交于 2019-11-30 16:50:40
复用总结: 结对项目与个人项目共同点:两个项目都含有出题的环节,在个人项目中,出题是一个单独的函数,有一个全局变量控制难度,为了将个人项目服用到结对项目中,我们将出题函数变成出题界面类中的一个成员函数,使得服用成功。 经验教训: 1、在拿到结对编程要求时,由于短信验证码没有接触而产生畏难情绪,导致结对项目进展缓慢。 2、尝试使用阿里云短信服务,虽然阿里云是免费的,但是阿里云外部包在阿里云平台上可以运行在本地却无法运行,始终报错,尝试很长时间都没有解决报错问题,最后采用榛子云短信服务平台,他的使用方法比较简单,同时有完整的使用教程,最终解决短信验证码问题。 3、 第一次尝试使用 java的swing控件制作图形化界面,遇到了很多问题,例如排版、事件监听和界面美化问题,在第一次做的过程中不断学习,不断改进,最终完成了结对项目的界面要求。 4、相比个人项目,结对项目新增了解题需求,首先是计算出答案,案后还要将答案随机的划分在四个选项中。思路是在出题的同时,用另一个字符串保存可以用来计算的字符串,得到的结果通过随机化赋值到四个选项中。 5、在完成结对编程项目后回顾整个过程,其实并没有想象中的那么难,大多时候都是因为自己没有去尝试,没有去改变,遇到难题总是不敢前进,总是抱怨太难了。 来源: https://www.cnblogs.com/zrxlry/p/11604869.html

结对编程-带UI的小初高数学学习软件

纵然是瞬间 提交于 2019-11-30 16:50:22
本次的结对项目相较于个人项目来说无疑工程量要较大一些,因此在文章的开头我想想附上一个还出题软件的流程图,好让大家先对该软件有一个整体的认识 由于和队友的个人工程项目比起来,我的个人项目在对出题需求的完成更为完整,因此在本次结对编程前的讨论中我们决定由我来完成此次结对项目的后端逻辑部分,由他来完成项目的 UI 构造以及将各个 UI 模块进行拼接,并且加入我的逻辑代码。 由于个人项目的需求中没有要求判断所出的题目是否有效,因此我们在个人项目中的代码都是直接随机生辰所有的数据,而由于本次结对编程需要完成对题目的计算,因此我们在出题目时规避所有的无法计算的情况,并将高中的三角函数中的数据改成了特定的关于 π的数据。 在完成题目计算的代码时,由于我在之前的编程学习中完成过类似的代码,因此计算小学题目的代码基本上没有耗费太多的精力,接着在该函数的基础上增加了判断初中和高中的特殊符号的功能,至此出题模块和解题模块的最原始版本完工。 就在我完成了解题以及出题的模块的同时我的队友也完成了基本的 UI 结构以及体系( 9 月 21 ,周六),至此还我们没有观看过对方的代码。接着第二天我们将两人的代码组合起来,期间也发现了一些由于缺少沟通而导致的一些功能赘余和功能缺失的问题,但是最后都经过讨论并动手解决了。最后在周日( 9 月 21 日)的下午完成了代码的拼接,至此所有的需求都得到了满足

基于个人项目的结对编程

末鹿安然 提交于 2019-11-30 16:49:42
痛苦的两周结对编程终于结束了,为什么说痛苦呢,因为这次要做界面了。个人项目我使用的C语言,而我的partner用的是Java。听她说Java有自带的swing可以用来做界面,所以我也改用Java开始编写。基本不会Java的我等于抓瞎,虽然在写代码的大体流程上和C语言差不多,但又有很多小地方不同,需要注意。 我和队友的分工是她负责做界面,验证码等,我负责出题和改卷的函数。现在想来,其实我的工作量很小,因为队友考虑到我不太会Java,所以大部分都是她来做的。出题的函数可以结合个人项目的内容,传入选题难度(小学,初中,高中),生成题目。但在C语言改Java的途中,可以说是困难重重,几乎每写两行代码,就会有报错。好在参考着个人项目,我磕磕绊绊的写完了出题函数,接下来就是计算得到的数学运算式。一开始可以说是完全没有头绪,很多人都使用了后缀表达式来计算,但我从网上查阅资料,发现JavaScript中有个eval()函数,可以计算带括号的加减乘除这样的简单计算式,这等于是直接解决了小学的题目问题。虽然不知道Java中能不能使用,但我尝试了一下,结果证明完全可以。那初高中又加入了平方,开方,三角函数等运算,怎么办呢?我的思路是把这些特殊运算先从式子中提取出来,运算出结果,再把结果替换进去。说起来挺简单的,但实际操作起来还是挺难的。前前后后用了一周多,在解决了各种报错后终于可以运行了

结对编程总结

☆樱花仙子☆ 提交于 2019-11-30 16:49:01
选定的个人项目之前就使用数据库存储账号信息和题目信息,结对编程也只是在这个基础上加了UI界面和更新了一下题目生成的合理性。 登陆注册修改密码等界面的基础功能就是拿用户名文本框框里的字符串作为SQL语句SELECT的词条,等数据库返回信息后进行比较,然后执行满足相应功能的sql语句更新数据库或者在UI上显示错误信息之类,完成数据库更新后跳转到新的页面。 题目类有一个正确答案的属性,在答题界面其他的几个选项会在该正确答案的基础上随机生成,使用addmouseListen触发记录用户的选项,。 主要工作还是在UI界面上,虽然说上JAVA的课程的时候有学了UI界面相关的,但是大部分都没怎么用过,这次结对编程感觉学到了很多UI界面相关的方法知识。 首先是对于分布格式的了解,一开始只会用BorderLayout,但做不出称得上美观的UI,后面跟着改用了GridBagLayout,虽然设置起来以及后期修改都比较麻烦,但是能够比较准确的把组件放到我想要放的位置,大部分的UI我都使用了这种布局,还用到了一个FlowLayout,这个布局方式设置比较简单,对一个局部的Panel我大多采用这个,算得上相当好用了。 之后对界面进行进一步的美化,学会了修改按钮的颜色边框大小底色,字体大小样式之类的,最后还加了图片进去,把跟UI相关的类操作练熟了很多。 还学会了一些简单的SQL语句