从一场监考到代码重构

  从一场监考到代码重构

今天在监考中看着监考的学生,以及监考过程中遇到的问题,进行了一些思考,由于思考的比较发散,全都付之于文字,会显得非常乱,而容易跑题,让我们MindMap一下:)


1.1 MindMap是什么

MindMap是什么呢?其实是英国人托尼·巴赞创造的一种提出笔记方法,和传统的直线记录方法完全不同,它以直观形象的图示建立起各个概念之间的联系。在国内,MindMap又被称为脑图或思维导图。

思维导图(Mind Mapping)以放射性思考(Radiant Thinking)为基础的收放自如方式,除了提供一个正确而快速的学习方法与工具外,运用在创意的发想与收敛、项目企划、问题解决与分析、会议管理等方面,往往产生令人惊喜的效果。它是一种展现个人智力潜能极至的方法,将可提升思考技巧,大幅增进记忆力、组织力与创造力。它与传统笔记法和学习法有量子跳跃式的差异


我采用了FreeMind 0.7.2来表现这次的发散思维过程,如下图:
此主题相关图片



OK,通过这次发散思维描述,也找到了文章要写的重点:
1,界面重构
由于需求有变更,那么不能单一的只是分析考卷号来进行考试科目的判断,所以需要让用户自行选择,界面重构如下:

此主题相关图片



此主题相关图片


2,代码重构
原先点击打分按钮,假设执行如下函数

def 打分(考卷号):
  k = 分析考卷号得到考试科目(考卷号)
  根据考试科目保存入库(k)

重构方案一:
此方案够用

def 打分(考卷号,用户选择的判分方式)
  if(用户选择的判分方式=自动):
    k = 分析考卷号得到考试科目(考卷号)
  else:
    k = 用户选择的判分方式#相当于考试科目
   根据考试科目保存入库(k)

重构方案二:
为了扩展性,将判分的逻辑存入一个外部文件,XML也可,DB里也可,用来标识不同的考试科目的不同判分方法,将来如果某门考试判分方法发生改变只需改变外部文件的逻辑即可。

def 打分(考卷号,用户选择的判分方式)
   k = 判卷策略(用户选择的判分方式)
   根据考试科目保存入库(k)

OK,发散思维结束,就当是一次头脑之旅吧
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值