一、个人项目在结对编程项目的复用
- 将个人项目的出题做成了单独的类,方便调用。删除了题目数量的选择,出题只出一道,查重放在类外进行。同时将原本只有一个列表用来保存操作数变为两个列表保存操作数,一个列表的功能步骤同以前一样,另一个则专门保存被平方根号或三角函数计算后的操作数。因为一个需要用来显示出来,另一个用来被计算答案。出题的算法与原本保持不变。
- 个人项目中定义的登录函数,通过将输入的用户名和密码与从用户信息库中取出的用户名和密码进行一一比对,取出方式是“通过列表,将每一个用户的个人信息(用户名+密码)作为列表的一个元素”;结对编程中,定义同名的登录函数,传入参数为用户名和密码,执行个人项目函数同样的“取出个人信息进行比对”的方法,同时定义用户信息写入函数,将个人项目函数包含的部分独立封装起来,实现了“登录界面”个人项目向结对编程项目的复用。
二、结对编程的经验教训
在设计之初选择了python自带库tkinter,没有选择PyQt5这类更加方便可视化的额外需安装库,主要是为了验收方便。另外在对于UI的设计方面,起初并没有考虑到tkinter的局限性,导致最后UI界面只能绝对位置,对于调试编程过于麻烦。
而在最后代码的打包为EXE环节,由于语言的新兴,对应的指令教程出现的问题并没有很全面,使得最后无法实现联网功能,导致无法使用验证码,最后不得不在EXE版阉割掉了验证码注册功能。另外,最终几百KB的代码,EXE却有8M多,原因在于导入库的时候导入了该库的全部,实际使用却很少库中的函数,没有专门导入对应的函数;还有就是打包的语言环境过于混杂,没有在纯净的语言环境中,使得最终EXE过于庞大。
另外,变量的命名的可读性确实很重要,不能过于简写,否则不利于交流。
结对编程项目:带UI的小初高数学学习软件
原文:https://www.cnblogs.com/Coshining/p/13787828.html