zoukankan      html  css  js  c++  java
  • 第四周作业

    在Lifegame文件下:

    在主函数main.py下,利用game_map.py初始化地图功能、game_timerp.py的计时器功能、life_time的判断生死功能最终实现细胞随机根据生存定律计算下一代每个细胞的状态的不断进行。

    一、game_map.py定义一个关于GameMap的类,其代码结构为:①__init__(self, rows, cols)函数是初始化地图;②rows(self)与cols(self) 函数对地图行列数值的获取定义行为;③reset(self, possibility=0.5)、get(self, row, col)与set(self, row, col, val) 函数对地图的坐标进行重新获取;④get_neighbor_count()、get_neighbor_count_map(self)是对地图上一点周围坐标获取与判断生死;⑤set_map()与print_map新地图的获取与打印。

    二、game_timer.py定义设置地图的计时器,代码结构为:①__init__(self, trigger, interval=1.0)初始化计时器属性参数;②start(self)与stop(self)设定计时器开始及结束。

    三、life_game.py实现对地图的不断更新,代码结构为:①__init__(self, map_rows=10, map_cols=10, life_init_possibility=0.5)设置地图初始值;②print_map(self)、game_cycle(self)地图的打印与更新。

    四、main.py判断是否满足生命游戏运行初始条件,若符合则通过调用以上模块运行生命游戏。

    代码质量可从以下几方面评价:

    ①    编码规范:是否遵守了编码规范,遵循了最佳实践。

    ②    潜在的BUG:可能在最坏情况下出现问题的代码,以及存在安全漏洞的代码。

    ③    文档和注释:过少(缺少必要信息)、过多(没有信息量)、过时的文档或注释。

    ④    复杂度:代码结构太复杂(如圈复杂度高),难以理解、测试和维护。

    ⑤    测试覆盖率:编写单元测试,特别是针对复杂代码的测试覆盖是否足够。

    例如生命游戏代码覆盖率测试,如下图所示:

     

  • 相关阅读:
    Linux下卸载mysql
    ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
    Centos系统创建用户oracle后,用该用户登陆系统,页面加载报错GConf error
    Java Web 深入分析(6) Tomcat
    CSS 类选择器
    myeclipse 破解
    Java Web 深入分析(5) Java ClassLoader 工作机制
    JFinal(2)JFinal 学习资料
    JFinal(1)JFinal helloworld
    Java Web 深入分析(4) Java IO 深入分析
  • 原文地址:https://www.cnblogs.com/yangfeiyue/p/12484339.html
Copyright © 2011-2022 走看看