结对编程

结对编程

此生再无相见时 提交于 2019-11-30 16:25:09
通过这次结对编程我又学习到了许多新知识,新思想; 首先关于如何重用个人项目的代码:由于我的个人项目是将先生成一个整型数组,再将数组翻译成字符串,而且我又想到使用逆波兰方法来计算答案于是我们就用了我的代码,并在此基础上进行修改,具体是加了一个输出函数将得到整型数组输出到计算答案的方法内,这样在基本不改动的情况下我们完成了出题与计算答案功能; 其次关于在结对编程中获得的经验,我们通过分功能模块的方式;来进行代码编写,我编写关于UI交互方面的功能;在这个过程中我学会了许多知识;包括,1.对于事件触发机制的使用,2.了解并学习使用可视化GUI编程Windows builder,3,学会如何导入外部Jar包来快速完成各种功能,比如GUI美化;4.也学会了通过监听时钟信号来对交互进行优化; 在这次结对编程中我也对如何与结对编程的同伴就代码方面,如何更快更简单的让他读懂我的代码,好方便进行模块接口的对接;在这个过程中我也提高了如何在一个项目中与同伴进行更有效的交流; 在这次结对编程中我也吸取了许多教训,比如在编写代码时需要尽量少用局部变量名这样可以减少同伴和自己调试时的麻烦,同时也学会了在编写代码时要提前与同伴商量好要用的数据结构,以及如何设置接口不然写好的代码因为接口不同又要重新改,凭空增加麻烦 来源: https://www.cnblogs.com/jtzy/p/11604196.html

结对编程项目总结

佐手、 提交于 2019-11-30 16:22:31
本次结对编程项目需要实现短信发送功能,登录注册功能,设置密码修改密码功能,产生选择题功能,且能够进行题目切换显示分数,题目的重复查看,小初高的出题则与个人项目要求相同。为了便于实现界面功能与发送短信的功能,本次结对编程使用的是java。虽然我和同伴的个人项目使用的语言都是c++,但是同样作为面向对象的语言还是有互通之处,因此在c++中使用的思路未尝不可利用java来进行实现。 1、登录密码功能,这个功能使用了两个java文件来实现,使用了阿里云提供的jar包来实现。手机号与密码设置均存在txt文件中。初始界面如下图所示,用户账号默认为手机号码,在输入手机号之后将会进行检测,若该账号已被注册则会弹出密码输入框,成功登录后跳到修改密码/开始出题的界面。若没有注册过则会出现验证码的输入框然后是设置密码。 2、题目的难度选择,出题的数量都和个人项目相同只是把它用frame显示了。 3、计算与出题功能:在计算这个地方我们采用的是后缀表达式,使用两个栈根据优先级存储数字和符号,如果后入的符号优先级高则直接入符号栈,否则将栈里面优先级高的弹入数字栈。出题方面采用了搭档的个人项目,只是将c++版本改为了java版本。但是两方面组合的时候出现了问题,我们在这方面产生了不同的理解,在交流后达成了一致意见,在小初高上都增加了括号计算。题目的切换显示上使用的是jpanel

结对编程项目

拥有回忆 提交于 2019-11-30 16:18:11
结对编程项目 结对编程项目是在个人项目的基础上实现 UI 界面,能够让题目以选择题的形式出现 , 做完题目 之后算出最后的得分。这一次的 实现过程中 ,我 和队友 放弃了 我们 个人项目使用的 C++ ,而用了 java 的内容 并优化了我们的出题程序 。 Java 和 c++ 的出题逻辑一直,但 java 更容易实现 Ui 界面,和短信验证码的接口, 因为 java 有自己的成体系的 GUI , 而 DEVC++ 不好实现这一点,在网上看一些大佬说 Java 更适合做前端 , C++ 偏向后端, 。 还有我们花费了两天学习 Qt, 但没有找到 qt 短信验证码的接口,因此我们选择了 java 。    本次结对编程要 实现的功能 有: 1、    用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册; 2、 用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码 6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功; 3、 密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量; 4、 用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项

结对编程:从0到∞

為{幸葍}努か 提交于 2019-11-30 16:16:12
主要工作 本次结对编程项目中,在同学的带领和指导下,我们使用了Spring框架进行开发。我主要负责的是题目相关逻辑、前后端的连接以及整合后部分bug的调试解决。 题目相关逻辑复用了个人项目进行开发,优化了加括号函数。写计算答案函数之前一直在听同学说中缀表达式转后缀求解,于是也没多想其他的解法,学了一下转换规则后,写了一个涉及到字符串处理的比较复杂的求解类。写完调试好之后,突然意识到自己出括号时标记了括号的位置,其实可以直接计算比较简单,没想到绕了个大圈子。。。只能安慰一下自己好歹还学了个表达式。 前后端的连接是和同学一起完成的,花费了大量的时间自习来解决问题,但是同时对java语言以及spring框架也有了更深刻的认识。 bug调试比较简单粗暴,就是不断生成试卷看哪里有问题,然后改正问题。感觉写代码的时候一定要注意命名规范和分包管理,比较好找错误和调试。这里也感觉IDEA确实更加智能。 最终效果 我踩过的坑 因为初次接触比较系统的开发,啥都不知道,感觉把能踩的坑都踩了一遍,总结一下: 首先要安装数据库。初始化MySQL时,我使用了mysqld--initialize-insecure命令,这条语句与mysqld--initialize的区别在于它默认root密码为空,然后我登录数据库时空密码无法登录。搜索资料得到解决方法: a. 在bin命令中输入mysqladmin -u

结对编程中的收获

◇◆丶佛笑我妖孽 提交于 2019-11-30 16:05:36
  结对编程项目是在个人项目的基础上进一步实现UI界面,能够让题目以选择题的形式出现进行选择之后算出最后的得分。这一次的编写中,我的队友放弃了他个人项目使用的Golang,而用了我之前写的java的内容。因为java有自己的成体系的GUI,而Go语言没有官方的GUI。但后来看了一些大佬做的网页版本的,确实会比java的GUI美观一些,现在觉得当时应该用Golang,因此它的web开发的能力非常的强。   本次结对编程要完成的任务有:   1、用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码创建账户完成注册;   2、用户登录功能。将用户信息存储在txt文件中;     3、修改密码功能。输入两次密码后即可修改密码;   4、选择难度功能。用户点击选择题目难度和数量;   5、答题功能。用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;   6、分数显示功能。最后一题提交后,界面显示分数,分数根据答对的百分比计算;   7、短信发送功能。输入手机号发送短信;   本次的结对编程之中有以下几个难点:   1、逻辑结构部分的设置   虽然和个人项目的逻辑比较的接近,但是应该会更加的负责,因为多了短信验证的功能,题目变成了选择题

结对编程项目分析

橙三吉。 提交于 2019-11-30 15:56:17
前言、 今天彻底完成了结对编程项目。 从个人项目开始到结对编程结束,过程一直比较坎坷。 个人项目的困难主要集中在出题方面,再详细点还是括号问题,最初的个人项目只能完成括号内括号,不能生成两个独立的括号,这个问题在结对编程开始时,参照搭档的c语言代码,已经得到解决。主要思想是建立两个列表分别记录每个数字左右两边的括号情况。 综述、 因为是第一次真正做一个ui的比较完整的小项目,第一次用python来做ui,一切也基本上是从零开始,从网上找资料学会最基本的之后,越往后就越需要自己一点点摸索。 在开始结对编程项目后,结合结对编程项目要求发现个人项目实现的多种功能都会不适合结对编程要求。比如后端的出题函数,如果出题出的不合理,在结对编程需要解题的时候就会无比复杂,真是给自己使绊子。这就要考虑重新规划出题的规则,从而简化解题步骤。 我和搭档的这个项目的解题步骤可以分为以下几步:去平方,去根号,去三角函数,到了这一步,python库的强大功能就体现出来了,只要是小学格式的题目,用python可以直接计算出来,省却了判断括号确定优先级来运算的这一复杂步骤。 结对编程项目开始后,第一想法就是做一个小的exe可执行文件,后来发现网页好像更适合这个项目,但是没有做网页的基础,需要从头开始学习,所以我和搭档两个人就一条路走到黑,一路研究python结合Qtdesigner来实现这个项目。 项目功能介绍、

从结对编程初项目窥团队合作编程

*爱你&永不变心* 提交于 2019-11-30 15:53:36
一、 前言: 本次项目要求在个人项目的基础上,两人结对合作,对原有代码进行合作。 在上次的个人项目中,我的队友选择了Python进行开发,而我选择了Java;经过沟通后,这次的结对项目我们选择以Java版本的代码为基础,优化代码,添加模块。 二、 项目介绍: 项目名称:     带UI的小初高数学学习软件    2. 用户:     小学、初中和高中学生   3.功能:     a.用户登陆注册功能和密码管理功能:       1)用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;       2)用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。       3)用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功     b.题目生成和提交批改功能。       1)密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;       2)用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;        (小初高数学题目参照个人项目)       3)最后一题提交后

复用个人项目实现结对编程项目

随声附和 提交于 2019-11-30 15:52:42
一、需求   1、用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;   2、用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;   3、密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;   4、用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,...,直至最后一题;   5、最后一题提交后,界面显示分数,分数根据答对的百分比计算;   6、用户在分数界面可选择退出或继续做题;   7、小初高数学题目要求见个人项目。 二、个人项目的复用及功能增加   1、结对编程项目是对个人项目的复用,我们选择了复用队友的个人编程项目。之前写的生成试题程序并未考虑到计算的困难性,只为了加括号而加括号。复用其代码获取试题,增添了GetAnswer获得答案。其他增加的功能有短信验证码,利用验证码注册,设置密码,修改密码,出题答题,并在最后显示分数。   2、复用代码出题并获取答案部分,我之前只做过加减乘除的运算而没有做过带三角函数和平方开方运算的

结对项目总结

对着背影说爱祢 提交于 2019-11-30 15:16:23
在做个人项目时,只考虑了将题目完整、无歧义、无赘述的显示出来。未考虑如何进行计算,所以计算正确答案时遇到了很多问题。不过好在我在生成题目时,并没有像一些同学一样,以过程为导向,随机括号的位置。这样可能导致赘述,而且需要判断括号是否交叉,还导致难以计算的问题。我使用的是以结果为导向,随机运算符的优先级,根据优先级先添加括号,然后判断括号是否赘述,然后判断是否去除括号。这样避免了括号的赘述问题,也方便表达式的计算。 在这次结对编程中,我负责题目的计算和生成错误答案。在我动手做之前,java有计算表达式的函数,这让使用c++的我忍不住直喊“ java是世界上最好的语言! ”。不过当我看到他们计算出来的答案都是小数,不显示根号的时候,我觉得我可以做一个结果带根号的项目。因为像√55、√78、sin69这类的表达式根本就不是一个初高中生能计算的。然后我提取这些表达式最基本的单元:单项式。这个单项式包含以下属性:分子,分母,根号,根号下的数。它可以表示整数,分数,根号数,满足我的要求。因为这些复杂的运算,最后都化为单项式和单项式运算,所以我需要重载单项式的+-*/操作,最后根据需要调用+-*/即可。 说实话,这次的结对编程于我而言,作用不大。因为我们没有进行过需求获取、分析,也没有记录文档,而且还是按照之前的编程逻辑,面向过程编程,边写边分析,最后发现方向错了,还得重构代码。我在整个编程中

结对编程项目总结

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-30 15:12:54
结对编程项目:带UI的小初高数学学习软件 用户: 小学、初中和高中学生。 本次结对编程的功能要求是: 1、 实现登录和注册,使用手机短信验证 2、 用户在登录状态下可以修改密码 3、 用户通过选择题目类型(小学、初中、高中)和题目的数量来生成试卷。 4、 试题不能重复出现 5、 试卷做完后需要显示最终得分 6、 用户在分数界面可以选择退出或者继续做题 我们实现了上述需求,并增加了: 1、 注册时判断账户是否已存在,存在则询问是否忘记密码,通过手机短信重置密码 2、 获取验证码的按钮设置了连续按下间隔180秒... 3、 做题时,每个题目都有一个按钮与之对应,可以通过各个按钮跳转到对应题目。 4、 交卷时,如果题目没做完所有题目直接提交会有提示。 5、 题目做完后,显示分数和做对、做错、没做的题号,可以查看自己哪里做错了。 UI的设计: 最初我们模仿百度的登录界面、学校机考的做题界面做。两个人分别做两个界面,发现模块太多,java swing也用的不熟练,然后两个人做的风格不统一。最终选择了一个MAC风格的java swing主题。 逻辑 整个项目的设计是基于上次的个人项目做的。很多功能(比如注册登录、修改密码、产生题目、账号信息和题库信息的读取)都是可以直接拿来用的。因为之前的项目是用的JAVA写的,这次也就直接用JAVA来写GUI。 一开始的界面是登录界面