结对编程之队友代码分析

本次个人项目,我的队友是用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. 功能部分:

在测试过程中有无意义的括号出现。例如,一个算式的两端。

 

总结

虽然在各个部分上都基本完成了个人项目的需求,但是我和队友都存在一定问题,比如:我们都没有彻底解决如何添加括号的问题。总之,成为一名优秀的程序员还有很长的路,要好好努力啊。

 

posted @ 2018-09-27 20:40  VanTree  阅读(130)  评论(1编辑  收藏  举报