zoukankan      html  css  js  c++  java
  • OO第三单元博客作业

    OO第三单元博客作业

    一、设计

    第一次作业:
    • 分别实现官方Person和Network接口,由于规定好了id,因此采用HashMap存储所有的Person信息。
    • 由于query_circle方法无法通过JML中规定的内容实现,与是新增了一个ArrayList<ArrayList<Integer>> links结构用于存储相关信息。其中Integer为Personid,每个内层ArrayList为一个circle,外层ArrayList存储所有人的link信息。
    第二次作业:
    • 在上一次的基础上新增了Group,以及一系列与Group相关的增改查方法。
    • Group也使用HashMap实现。
    第三次作业
    • 为Person添加了Money属性,并且添加了一些删查改方法。
    • 其中较难实现的是query_min_pathquery_strong_linked方法,需要更改之前的数据结构。选择采用邻接矩阵代替之前的ArrayList<ArrayList<Integer>> links结构,来存储path信息。根据弗洛伊德算法得到相应的数据,每次增删改时,都更新矩阵。

    第三次作业数据结构

    二、测试

    • 这三次作业,都没有很好地构建测试用例,简单测一测就提交了。从而导致写出的代码要么有bug,要么性能差,强测分数都很低。

    三、bug修复情况

    • 由于测试不充分的缘故,也导致修复bug比较困难,对于发现的bug,仅在强测之前修复了数个bug,其余bug要么无法定位,要么无从改起。

    四、总结

    • 本单元的作业与其他几次相比,更像是Java数据结构而非面向对象设计,写代码需要的时间并不多,重点和难点都在测试上面,也充分暴露了自己不擅长测试与debug的缺点。今后将注重这方面的能力。
  • 相关阅读:
    颜色空间RGB与HSV(HSL)的转换
    表示数值的字符串
    正则表达式匹配
    构建乘积数组
    Linux以百万兆字节显示内存大小
    OCP-1Z0-051-题目解析-第26题
    2014华为机试(一)
    android Manifest.xml选项
    TXT小说朗读正式版
    Codeforces Round #256 (Div. 2) B. Suffix Structures
  • 原文地址:https://www.cnblogs.com/jero123/p/12944634.html
Copyright © 2011-2022 走看看