zoukankan      html  css  js  c++  java
  • 结对编程——队友代码分析

    队友使用的是c++语言,IDE用得是VS2015。下面开始进行优缺点的分析。

    优点:①严格按照代码规范,分文件进行模块的分类。整个工程一共有8个文件,Login.h,Login.cpp,Subject.h,Subject.cpp,User.h,User.cpp,UsersTable.h,main.cpp,类的声明在几个头文件中,然后再在另一个文件中对类中的方法进行具体实现。比如login类:

    #pragma once
    
    #include"User.h"
    
    using namespace std;
    
     
    
    class Login {
    
    public:
    
           
    
            User login_verify();//验证登录并返回用户学历
    
    private:
    
            string isInAccounts(User *user);//要登录的是否在用户表中
    
    };
    
     
    
    #include"Login.h"
    
    #include"UsersTable.h"
    
    #include<iostream>
    
    #include<vector>
    
    using namespace std;
    
    User Login::login_verify()
    
    {
    
            string name, password;
    
            cout << "输入用户名和密码,两者之间用空格隔开" << endl;
    
            cin >> name >> password;
    
            User *user=new User(name, password);
    
            string grade= isInAccounts(user);
    
            while ("null" == grade)
    
            {
    
                     name.clear(); password.clear();
    
                     cout << "请输入正确的用户名、密码,两者之间用空格隔开" << endl;
    
                     cin >> name >> password;
    
                     user->setName(name); user->setPassword(password);
    
                     grade = isInAccounts(user);
    
            }
    
            User user2(name, password,grade);
    
            delete user;
    
            return user2;
    
    }
    
     
    
    string Login::isInAccounts(User *user)//判断此用户是否在用户表中
    
    {
    
            string ans = "null";
    
            for (int i = 0; i < UsersNum; i++)
    
            {
    
                     if (user->getName() == users[i].getName() && user->getPassword() == users[i].getPassword())
    
                     {
    
                             ans = users[i].getGrade();
    
                             user->setGrade(users[i].getGrade());
    
                             cout << "登录成功"<< endl;
    
                             break;
    
                     }
    
            }
    
            return ans;
    
    }

    变量与类的命名也符合规范,在适合的地方写了注释,易读性比较高。

    ②在生成题目的主要函数中,大量采用了goto条件跳转,一方面提高了代码的维护性,而且逻辑更为清晰,bug出现的概率更小。

    ③操作逻辑清晰,用户体验较好。

    缺点:①括号的位置随机,有可能产生没有意义的括号,比如将一个数字或者全部式子括了起来,没有进行判断。

    总结:

    总体来说我觉得队友的代码写得很规范,条理清晰,我也学到了许多写代码方面需要注意的,受益匪浅。

  • 相关阅读:
    《CoderXiaoban》第八次团队作业:Alpha冲刺5
    《CoderXiaoban》第八次团队作业:Alpha冲刺4
    《CoderXiaoban》第八次团队作业:Alpha冲刺 3
    《CoderXiaoban》第八次团队作业:Alpha冲刺 2
    《CoderXiaoban》第八次团队作业:Alpha冲刺1
    毛毛虫组【Beta】Scrum Meeting 3
    毛毛虫组【Beta】Scrum Meeting 2
    毛毛虫组【Beta】Scrum Meeting 1
    《毛毛虫团队》第九次团队作业:BETA冲刺与团队项目验收
    《毛毛虫组》【Alpha】Scrum meeting 5
  • 原文地址:https://www.cnblogs.com/Skyrim-zero/p/9714249.html
Copyright © 2011-2022 走看看