对结对编程的一点总结

一、项目简介

本次的结对编程项目是由我和张文凌同学共同完成的,是对个人项目的一个拓展,加入了图形化界面,让用户的体验更好。

在个人项目中,我们两个人都用Python作为代码语言,同时选择做网页,放弃了python第三方库的GUI。所以这个结对项目前端使用了原生的HTML+JS+CSS,后端使用了PHP来进行数据库的连接。

整个项目的页面切换如下所示:

二、代码复用

对于这次结对编程,我们最先开始做的是HTML布局,仔细思考了很久发现后端好像用Python不太好连接,所以我们选择直接使用JavaScript生成题目,生成题目的逻辑与Python几乎一致,我们只需要将变量类型确定,其余基本一致。所以对于之前个人项目的代码复用还算比较好。

三、项目实施过程

我在这次结对项目中主要负责以下任务:

  • 通过JS生成题目并且计算得到正确结果

因为在Python中有eval方法可以直接计算字符串表达式的值,所以我们查阅了资料,发现在JS中也可以实现,因此我们只需要将平方、开方、三角函数通过ReplaceAll方法加上前缀Math.,然后通过eval函数就可以直接计算正确结果,同时也注意到例如负数的开发,eval函数计算可以得到NaN,所以是非常方便的。

 

  • 连接数据库

因为在登录、注册、修改密码这几个页面都需要对数据库进行操作,这一部分花费了我们相当长的时间。在最开始我找到了Node.js来连接数据库,虽然可以连接成功,但是不能获取到网页的信息,也就是说不能与前端相连接,但是我们又找不到合适的方法来实现这个,于是荒废了大半天,第二天决定尝试使用PHP,但是一个环境的配置就花了大半个下午,不过好在最终成功连接了数据库,同时前端表单提交的时候可以通过action来跳转到PHP代码执行。

  • 访问数据库

通过张同学负责的前端CSS样式表,我只需要将登录、注册、修改密码的页面的数据库增删查改实现即可,对于PHP来说,只需要特定的查询或者增加删除的Mysql语句,即可实现对数据库的访问。下面就是一个示例,通过这种方式就可以很方便的实现对数据库的操作。

  • 手机号合法性验证,密码的合法性验证

对于手机号来说,常见的理解是11位即可,但是因为运行商的问题,手机号是被限制的(比如开头只能为1),为了能够100%收到验证码短信,选择通过正则表达式来判断账号是否合法。

 对于密码,项目需求中写到要满足大小写字母+数字,并且长度要在6-10位,这里我就用了很笨的方法,直接对密码进行遍历判断是否满足要求,同时使用strlen函数来计算密码长度。、

四、个人感想

怎么说呢,整个结对编程的过程还是磕磕绊绊的吧,从最开始的HTML开始就很迷茫,因为我们两个对于HTML、JS、CSS都不是很熟悉,基本上是从零基础开始学习,包括后面的连接数据库,从一开始一筹莫展到发现Node.js可以实现,再到Node.js不能实现前端交互而很抑郁,之后又发现了PHP,但是配PHP的环境就有点让人很恼火,中间甚至还萌生了不做网页直接改做GUI的想法,不过最终还是坚持了下来,把网页做了出来。整个的开发过程中间比较麻烦的是,每当两个人的代码产生交集时,就需要互相发送文件,我感觉这样太耗时间了,如果有能实时获取到队友代码的功能就好了。

总而言之,这一次结对编程项目我们还是花了很多时间和精力的,从这里面学到了很多之前都没有接触过的知识,虽然有点遗憾(只能本地运行,不能直接上线),不过我们已经很满足了,希望之后我还能够保持住这样的热情,积极的投入到开发工作当中!

 

posted @ 2021-10-09 18:19  Allision  阅读(63)  评论(0)    收藏  举报