• [课程相关]homework-02


    一、如何组织代码

    因为这个代码比较简单,用函数就足够了,个人觉得没必要用类,杀鸡不必用牛刀。

    代码有点长,主要是加了很多判断参数的部分。

    提取了一个公共的递归函数。

    用了不少全局变量,可能当做参数传入更好吧,不过这么小的程序就这样吧,当做参数还要打包再解析(否则传一大片参数太丑了),没必要。

    二、单元测试、代码覆盖率

    单元测试结果:

    可以看到所有测试全部通过。

    详细的测试内容可以去github里看letstest.py文件,我已经添加了注释。

     

    代码覆盖率结果:

    单元测试的代码覆盖率100%,homework02的代码覆盖率99%。

    有两行没有覆盖的原因是,homework02中结尾处的两行作用是直接运行时执行。单元测试是导入的homework02,所以这两行没有执行。

    三、表格

    Personal Software Process Stages

    时间百分比(%)

    实际花费的时间 (分钟)

    原来估计的时间 (分钟)

    计划

     2%  10  10

    ·         估计这个任务需要多少时间,把工作细化并大致排序

     2%  10    10

    开发

     86.8%  430  330

    ·         需求分析 (包括学习新技术)

     0  0  0

    ·         生成设计文档

     0  0  0

    ·         设计复审 (和同事审核设计文档)

     0  0  0

    ·         代码规范 (制定合适的规范)

     2%  10  10

    ·         具体设计

     48%  240  180

    ·         具体编码

     24%  120  60

    ·         代码复审

     4%  20  20

    ·         测试(自我测试,修改代码,提交修改)

     8%  40  60

    总结报告

     11.2%  55  40
       2% 10  10
       3.2%  15  10
       6%  30  20
    总计 100% 总用时:495

    总估计的用时:380

     

    注:

    1、表格中为0的项表示没有进行相关过程。

    2、因为表格太大了,会超出显示宽度,所以把最左侧的英文列删掉了。

    四、总结

    这次做作业整体来说比较麻烦,也是第一次做这么完整的程序,以前基本上不会写单元测试和博客。

    做题时候遇到的最大问题是联通类型的求法,当时思考了一上午吧,最后终于通过贪心+递归搞定了。

    总的来说,虽然麻烦但是收获挺大的。也学到了不少东西。

     

  • 相关阅读:
    利用 PHP 导出 Git 某个分支下,新增或修改过的文件
    [翻译] 10 个实用的 Git 高级命令
    Django web project
    install virtualenv
    js原型继承
    HTML 学习杂记
    IDEA 文件列表隐藏某后缀文件
    coocsCreator杂记
    mac install brew
    c编程:输入一个数字n,则n代表n行,每行输入2个数字a,b计算每行的a+b问题。
  • 原文地址:https://www.cnblogs.com/numbbbbb/p/3330586.html
Copyright © 2020-2023  润新知