结对编程之队友代码分析
本次个人项目,我的队友是用Python实现的,他考虑得很全面,而且编程技巧很值得我学习。以下是我的一些分析:
优点
1. 代码规范:
代码书写整洁,符合代码规范要求且关键地方都有注释,便于阅读。变量和函数命名具有现实意义。
1 #当有一个新用户登录时,系统会自动为新用户创建一个文件夹 2 3 import re 4 import random 5 import time 6 import os 7 8 global test_type #试卷类型 9 global test_count #题目数量 10 global user_name #用户名 11 global operate_count #操作数 12 operate_symbol = ['+','-','*','/','='] #操作符
2. 功能实现:
程序几乎是完美的实现了所有的功能(括号部分还存在一点问题),在插入括号的时候还考虑了括号可以插入在三角符号的里面。
我认为代码写的最好的部分是在实现“每位用户都有指定文件夹保存生成的试卷”这部分的功能,他并没有事先为每位用户建立文件夹,而是只有在用户登陆的时候才会创建,虽然实现并不复杂,但是这样更符合需求。
1 #实现登陆功能 2 def user_load(): 3 global test_type 4 global user_name 5 user_file = open("user_data.txt","rb") 6 content = user_file.read().decode("utf-8") 7 cont = re.split("[\n\s]",content) 8 flag = 0 9 while flag == 0: 10 user_name = input("用户名:") 11 user_code = input("密码:") 12 temp = -1 13 for user_data_name in cont: 14 temp += 1 15 if user_data_name == user_name and user_code == cont[temp+1]: 16 flag = 1 17 for i in range(temp): 18 if len(cont[i]) == 2: 19 test_type = cont[i] 20 break 21 if flag == 0: 22 print("请输入正确的用户名和密码")
缺点
1. 代码冗余:
实现小学、初中与高中出题的代码部分重合度很高,可以直接用函数实现。
2. 功能部分:
在测试过程中有无意义的括号出现。例如,一个算式的两端。
总结
虽然在各个部分上都基本完成了个人项目的需求,但是我和队友都存在一定问题,比如:我们都没有彻底解决如何添加括号的问题。总之,成为一名优秀的程序员还有很长的路,要好好努力啊。