Udacity调试课笔记之课程介绍

Udacity调试课笔记之课程介绍


       果然,没有继续去写推荐系统的笔记,反而先来一篇调试课的笔记。以后可能东一篇西一篇的,想到概率课上,台大叶丙成老师针对上课过多提出的忠告,我有点惭愧加汗颜。不过这不能阻止我疯狂地选课的势头,呃,扯远了,这个应该是另写文的,先回来。

       话说就Udacity上的课程而言,比如这个调试课吧,它的前三个单元都已经看过,甚至看过多次,但是一来没有认真地记笔记,二来一直没有认真地把编程练习写完,所以总觉得心里没底气。

        又扯远了,再回来。讲什么都要切个题啊,跑太远了可不好。

        先介绍下课程的老师教授,Andreas Zeller,同推荐系统,哥不认识。课程简介里提到,他是delta调试法的发明者,不过我咋觉得delta调试法的局限性很大呢,虽然一定很有用,仍然不知道怎么用。另一条听说过,ddd调试器的开发者,确实是个厉害的人物。研究领域就是大型程序及它们的错误。

       课程目标,以前从来没有教学生调试的课程,所以这位哥们就亲自上了,希望教给学生以系统、靠谱的调试方法,还有一堆的自动调试工具,当然还有工具里面的原理。


0单元是课程简介。


1单元--调试者如何工作

    介绍如何在调试界应用那个科学方法scientific method),之后的作业是用python创建一个交互式调试器,这一点我更关心C语言等等的调试器,比如C语言如何设置断点。


2单元--断言

    就是介绍断言的使用,用断言寻找bug在何处被引入。介绍了如何从运行过程结果来推导出断言条件的方法和工具。


3单元--简化失败

    就是他的得意之作--delta调试法,好像TDD测试驱动开发里面也有个delta什么法的,两者对比倒是让我明白了delta 是什么意思了。


4单元--追根溯源

    应该就是得用两个依赖关系(数据和控制),从失败逆向推导出bug所在。介绍的工具用于隔离调试中的因果链的,也就是bug到程序出错这一系列的状态。看完了,最后使用的自动方法也是Delta Debugging。


5单元--错误重现

    复原之前的各种条件,使得出现的错误重现。之后有个统计(statistical)调试的技术。


6单元--从错误中学习

    从历史记录中挖掘信息。呃,对我来说,先想办法怎么记录错误及其信息再说挖掘吧。哈。简单地看了点,对我来说应该较难。


       好,视频里还扯了点其他的。

       比如,导致程序员离婚的最可能的原因是什么?啊?钱多、事少、死得早?这是优点,是女人愿意嫁给男程序员的原因还差不多吧。不懂浪漫?跟程序员谈恋爱的人绝对有心理准备的吧。那是什么原因呢?调试!!!其实也就是加班啦。扣除强制加班因素,就算作因为问题没解决所以加班的话,你想想,这一调试就调到大半夜的,让significant other(关键的另一位)就不高兴啦,久而久之,就跪了。所以调试过久是导致程序员离婚的首要原因。


       然后是调试的统计数据,据统计,50%-75%的开发时间是用在测试和调试上了,所以掌握好的调试(及测试)技术,可以有效地节约时间,所以就要好好学这课啦。

       至于史上第一bug,嗯,史上第一个(只)bug的故事,估计都比我熟悉,要么也不感兴趣,我就不复述一次了。

调试课第一篇笔记到此结束,下一篇时间不定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值