软件调试系列序言

前段时间,我收到了大学母校的一封邮件,信中说学校为了更好地建立学校与校友的联系,打算成立一个校友导师团,所以要对毕业生做一个问卷调查。这份调查中有一题是评价母校的课程设置是否合理。

大学的课程设置是否合理?我真不知道怎么回答,说合理吧,好像很多课程与工作也没什么关系,工作中感觉都用不上。说不合理吧,也不是这么回事情,平心而论,大学时学的知识或学习方式在很大程度上帮助我更快地掌握新的知识。

但是作为一名计算机专业毕业的学生,我更希望大学里能开设一门课:《软件调试》,原因说起来很简单:作为一名程序员,编程与调试占据了主要的工作内容。编程,大学里有相应的课程,可是调试呢?应该没有一所大学开设专门的调试课程吧!

目前毕业生普遍软件调试能力偏低,只会简单地打Trace记录,这种方法对于简单地程序可以应付,可是对于大规模的项目却难以胜任,尤其是对于一些涉及多模块,或者概率性出现的Bug就更显得无能为力了。

前面也提到了,调试占用着程序员的大量的工作时间,如果没有较扎实的调试技能,将直接影响着程序员的工作效率,进而带来不可预计的一个个深夜加班,由于项目压力,又不可避免地快速编码,导致大量的Bug,进而使程序员陷入一个个疯狂调试的状态,形成一个恶心循环。

目前普遍认为软件质量是做出来的,而不是测出来了,换句话说,我们应该在开发过程中保证软件质量,这就需要程序员掌握TDD进行单元测试保证模块功能稳定,掌握设计模式保证软件代码结构稳定,掌握重构技巧以调整不合适的设计。

要学习以上提到的各种技能,则必须将程序员从编码-无限调试-快速编码的恶心循环中解脱出来,腾出精力才是正道。

那么如何才能解脱呢,学习软件调试技巧才是唯一的方法。

既然大学里没有软件调试这门课,作为毕业生如何学习呢,有两种方法,一:上网找资料,看书自学,二:向周围有经验的同事求经。第二种方法虽然可行,但知识不系统且具有比较强的针对性,即能学到针对某一具体Bug的调试方法,而Bug往往千变万化,分析过程更是让新人觉得匪夷所思,我们所要学习的是思维过程而非调试方法。那么接下来只有第一种方法可行了,但网上的或书的知识一般都比较的浅,会谈些具体调试工具的使用,对于具体安例的方析一般比较的少,不贴近具体的项目。

为了解决这些问题,方便毕业生更好地掌握软件调试技巧,我将结合我这四年的软件调试经验,写一系列的调试文章讲述一下关于C++方面的调试方法,帮助大家更好地参考学习

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值