科探空谷
  • Home
  • zhimind home
  • Categories
  • Tags
  • Archives
  • 留学
    • 学校库
    • 专业库
    • 研究方向与招生
    • 工具
    • GPA计算器
    • 脑洞背单词
    • 脱口而出

Udacity调试课笔记之科学方法

目录

  • 科学方法
  • 恭喜
目录

科学方法¶

科学方法其实一个流程图就列完了。如图(呃,直接从视频中截了图片过来):

科学方法流程图

用段流程化的文字来描述就是:

  1. 根据程序的代码. 运行情况. 失败情况. 观察结果等等因素,提出一个假说(hypothesis),也就是上一部分,准备工作中的第3条,可能的bug解决方案。转步骤2.
  2. 预测结果,记录,并进行实验,再记录观察结果,比对。转步骤3。
  3. 如果比对结果一致,表示实验结果支持提出的假说,可以对假说进行改进,再转步骤2(图片中是转步骤1);否则表示假说不符,不正确,拒绝掉,转步骤1,提出新假说。 直到假说不能再改进,且所有实验(所有测试)结果都符合,则转入步骤4.
  4. 假说能解释并预测实验(测试)结果,所以变成一个学说,调试里就是诊断结果(诊断报告)。OVER。

这个过程很简单,看过一遍后,多数人都能理解并记住。难点就在于应用上。视频里,Zeller教授说,对于经验丰富的程序员来说,如果能在5分钟内解决问题,确实可以不用这么系统或者叫死板地使用科学方法。

但对于新手、 生手来说,需要强制地使用这么一个方法、过程。根据一万小时理论,不断地刻意练习,这样才会进步,真正地向高手转变。

例外,只在于当看到程序出错,甚至运行程序的那一刹那,就能想到bug所在,这种情况下自然是直接修改代码即可。

但只要想法不正确,或10秒内没想到问题所在,1分钟内无法解决bug,就要强制地使用科学方法。当成长为专家. 高手之后,科学方法已经成为习惯,自然能掌握好使用它的时机。

恭喜¶

恭喜你看完科学方法这篇, 本来打算写 知维教程的, 但感觉编不出问题, 因为几个步骤都是语言描述的, 很难引导、判断回答。

下一篇 显式调试


Published

11月 22, 2016

Last Updated

4月 18, 2017

Category

软件开发

Tags

  • 调试 5
  • 软件开发 6

Stay in Touch

  • Powered by Pelican. Theme: Elegant by Talha Mansoor