zoukankan      html  css  js  c++  java
  • 软件工程导论————队友个人代码分析

    前言

    本次软工学习流程分个人项目、结对编程以及团队项目,其中结对编程为个人项目的优化,此处对结对编程的队友的个人项目代码进行个人的分析并互相学习

    从程序结果看需求实现(以用户李四1为例)

    登录并生成题目

    题目展示

    需求的实现分析

    用户端功能——用户登录、选择等级、生成题目、退出登录

    文件结构目录——用户/题目等级/xx.txt

    题目规范——小学、初中、高中均满足题目要求

    补充:关于txt文件里保存的题目,两道题之间没有空行应该是漏看了需求,因为不是很难的问题,这里点一下

    从代码结构到内容实现

    技术选型:python

    结构框架:代码没有冗杂在一个.py文件里,多文件编程,main.py主要编写程序的流程,使得流程清晰,generate.py则主要编写题目生成算法,算是个人项目里较核心的部分

    代码内容:在mian程序为了控制用户的使用流程,嵌套了三个while(True)循环,使用时一定注意不要死循环,最后的控制效果大体上令人满意;在generate程序里通过个人对题目的理解,设计了一套加括号、加幂指数以及加三角符号的算法,实现效果还可以,因为根号的表示原因,存在根号表示范围不明确的通病;在user程序采用读文件方式,读取存储在文件中的已添加用户

    个人角度评价优劣

    优点

    1. 代码完成度较高,结构层次清晰,低耦合、高内聚
    2. 生成的题目美观度能够令人满意
    3. 用户的处理采用文件,方便添加用户(需求里没要求)

    缺点

    1. 没有UI(需求没有要求)
    2. 部分代码不符合PEP8的规范,需要进行修改
    3. 部分处理不太符合需求,需要进行修正

    提升空间

    1. 生成题目部分,根号可以处理的更严谨
    2. 可以尝试写出UI界面,运用更多的技术丰富个人项目
  • 相关阅读:
    一致性哈希算法
    Tcp 3次握手 4次挥手
    计算机字符编码编年史
    虚拟机字节码指令表 JVM
    计算机是如何计算的、运行时栈帧分析(神奇i++续)
    神奇的i++
    记一次 springboot 参数解析 bug调试 HandlerMethodArgumentResolver
    String+、intern()、字符串常量池
    签名和加密的区别(详细)
    java之设计模式汇总
  • 原文地址:https://www.cnblogs.com/wangjq4214/p/11552652.html
Copyright © 2011-2022 走看看