开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《C语言程序设计进阶教程》一第3章 预防、检测及消除bug

简介: 本文讲的是C语言程序设计进阶教程一第3章 预防、检测及消除bug,本节书摘来华章计算机《C语言程序设计进阶教程》一书中的第2章,第2.6.2节, Intermediate C Programming[美] 陆永祥(Yung-Hsiang Lu) 著 徐东 译 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
+关注继续查看

第3章

预防、检测及消除bug

本文讲的是C语言程序设计进阶教程一第3章 预防、检测及消除bug,一些书中建议,软件应该是精心设计的、认真地编写且从不被调试。这些书不会说任何关于调试相关的内容。以我在编写程序、与学生一起工作以及与在软件行业人士交流的经验来看,即使软件是被认真的计划并编写的,调试也很难完全避免。某种程度上讲,调试就像是在编辑一篇文章。想要在不进行任何编辑的情况下写出一篇好文章是非常困难的。虽然不能完全避免调试,我们也不应该依赖它。有经验的程序员会仔细地防止出现bug,并尽早地发现它们。
许多人是通过写小程序(每个程序几十行代码)学习软件开发的。这样很好,因为学习就是应该分阶段性进展的。问题在于,很多人在他们想要写大一些的程序时,还坚持着那些在写小程序时可以接受的习惯。写一个400行的程序和写一个40行的程序需要不同的策略。本书是为那些在学习如何编写“代码行数”(LoC)为100到1000之间程序的人所著的。虽然LoC并不是一个衡量软件复杂度的好方法,但它却扮演着考量一个程序复杂度的基本尺度。寻找衡量软件复杂度的好方法不涵盖在本书范围之内。相反,本书会给出一些关于如何编写正确程序的建议。
3.1 开发软件≠编码
基于编写小程序的经验,一些同学会有“编码→测试→调试”的习惯。不幸的是,这是开发软件的错误方法。专业的程序员会使用策略来预防、检测及消除软件bug。编码不是在开发软件。编码的意思是在文本编辑器中输入语句。编码只是开发软件的一个小部分。
在输入代码之前,你首先需要知道的是你为什么在开发这个软件。也许你是在完成编程课安排的作业。在这种情况下,你应该问清楚这些任务的目的。尤其是应该有一些学习的目标。不知道这些目的,就不可能知道怎样去评价软件。随着软件变得复杂,这也将随之变得更为重要。复杂的软件有许多部分,你需要知道为什么需要这些部分,它们之间是怎样相互影响的。开发软件需要编程前、编程中、编程后的许多步骤。下面为你讲述一些原则。

原文标题:C语言程序设计进阶教程一第3章 预防、检测及消除bug

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
深入理解C语言指针——挑战C指针笔试题 (和bug郭一起学C系列)(3)
深入理解C语言指针——挑战C指针笔试题 (和bug郭一起学C系列)(3)
0 0
深入理解C语言指针——挑战C指针笔试题 (和bug郭一起学C系列)(2)
深入理解C语言指针——挑战C指针笔试题 (和bug郭一起学C系列)(2)
0 0
深入理解C语言指针——挑战C指针笔试题 (和bug郭一起学C系列)(1)
深入理解C语言指针——挑战C指针笔试题 (和bug郭一起学C系列)(1)
0 0
C语言操作符详解(和bug郭一起学C系列)
C语言操作符详解(和bug郭一起学C系列)
0 0
那些年你还没学会的C语言数组小细节(和bug郭一起学C系列)
那些年你还没学会的C语言数组小细节(和bug郭一起学C系列)
0 0
一文搞定C语言函数和函数递归(和bug郭一起学C系列)(2)
一文搞定C语言函数和函数递归(和bug郭一起学C系列)(2)
0 0
一文搞定C语言函数和函数递归(和bug郭一起学C系列)(1)
一文搞定C语言函数和函数递归(和bug郭一起学C系列)(1)
0 0
C语言指针,楼下大爷都能学会的小细节(和bug郭一起学C系列)
C语言指针,楼下大爷都能学会的小细节(和bug郭一起学C系列)
0 0
C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)(4)
C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)(4)
0 0
C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)(3)
C语言期末复习不挂科(快速入门)(和bug郭一起学C系列1)(3)
0 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
阿里巴巴代码缺陷检测探索与实践
立即下载
代码未写,漏洞已出——谈谈设计不当导致的安全问题
立即下载
WEB框架0day漏洞的发掘及分析经验分享
立即下载