Java教程

结对编程——对队友王斌的代码分析

本文主要是介绍结对编程——对队友王斌的代码分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

结对编程代码分析

 

代码概述

整个项目代码由三个顶层类文件分为三个部分:

  • MainPart.java(交互界面,主函数)

    • users:账户类实例化

    • initList()

      初始化账户信息

    • createProblems()

      出题界面

    • adminSystem()

      管理员界面

    • initSystem()

      登录界面

  • User.java(账户类)

    • grade:类型

    • id:名字

    • password:密码

    • User()

      构造方法

    • getGrade()

      获得类型

    • getId()

      获得名字

    • getPassword()

      获得密码

    • setPassword()

      设置密码

  • Creation.java(生成题目)

    • id:名字

    • grade:类型

    • num:生成题目数

    • Creation()

      构造方法,根据类型生成不同难度题目

    • createBasic()

      添加一个操作数和运算符

    • createTwo()

      生成两操作数数学题

    • createThree()

      生成三操作数数学题

    • createFour()

      生成四操作数数学题

    • createFive()

      生成五操作数数学题

    • saveFile()

      保存题目到txt文件

    • creating()

      随机生成不同操作数的题目并判断是否重复

代码优点

  1. 运用面对对象的思想将项目分为三个相对独立的部分:账户类、交互界面类和生成题目类。

    • 账户类:保存账户信息,由其他两部分调用。

    • 交互界面类:接收用户的输入指令,调用其他两部分的方法登录、生成题目或修改账户信息。

    • 生成题目类:接受交互界面类的调用生成题目,保存在生成的txt文件中。

    便于代码复用及维护。

  2. 代码格式规范。

    • 文件名、类名、变量名取名都使用驼峰法,简洁明了,可读性强。

    • 缩进、空格、自动换行都采用统一标准,大气美观。

    • 每个类或方法都有注释解释说明了大致功能与参数、返回值。

  3. 各功能分类明确,准确无误地满足了项目需求,测试无bug存在。

  4. 生成题目的算法采用了分解组合的方法,多操作数题目由少操作数题目组合而成,如五操作数题目由四操作数题目加一操作数而成,以此类推。该算法考虑到了各种题目情况,比较全面。

  5. 添加了项目需求中未要求的管理员账户,实现了对已有账户的修改和增添、删除账户的功能。

代码缺点

  1. 在用户界面一些输入要求没有提示,有些输入错误后跳转界面不友好,成功生成文件后没有提示。

  2. 一些难懂的代码旁没有注释使得理解有些困难。

  3. 生成题目的方法createFive()、createFour()、createThree()、createTwo()、createBasic()中代码的重复率过高,比较庞杂。

  4. 管理员账户对账户的修改无法保存到下一次运行。

  5. 解释器中的警告很多(强迫症患者表示很难受)。

这篇关于结对编程——对队友王斌的代码分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!