程序员怎么样才能保证自己的程序没有BUG
来源:互联网 发布:个人淘宝开店流程 编辑:程序博客网 时间:2024/05/01 22:23
代码复核(Review)是为了找错误吗?看代码能看到逻辑错误吗?
不,跑测试程序都不能找到错误,看代码怎么可能看出来?
复核代码的目的有:
* 检查代码是否规范,如命名规范,注释
* 保证一段代码至少有两人共同熟悉,可以由任一人来更改。
* 检查设计思想是否如实实现,代码如何表达设计
* 审察未文档化的细节设计,即由代码直接表达的设计,由代码人口述设计并对照代码
* 检查是否暴露出原设计的缺陷,需要重新设计?
程序员是否认为自己的程序有错误?
自信没有错误和怀疑代码还有错误,哪个是正确的心态?
我认为程序员永远都不会有100%的自信。
即使程序已经发布,被用户接受很长时间,只有好评没有抱怨,依旧不能确认有没有错误。
只能假定错误是永恒的,它们一直在那里,只是不到条件爆发。
一个程序员能做的就是,排除所有肤浅的错误,加大隐藏错误出现的几率并找到它们,
采用一些容错性代码减小可能的错误,减少程序发布后爆发的机率。
测试的目的是为了发现错误,
但是单元测试,功能测试的覆盖度能有多高?
没有100%覆盖的测试。就是说,总是有一些状态是测试不到的。
代码人员认为不可避免地存在错误,需要测试,测试人员认为测试覆盖度不可能100%,还是要代码小心。
这是一个头痛的问题,结果是没有完美的程序。
单元测试是白箱测试,可以根据代码实现将注意力放到最关键的部位。
但仍然不是100%覆盖的。
单元测试一般针对的是边界数据,不要求覆盖度,而更要求有效性。
其目的更主要的是保证代码更改不会破坏原有的正确性,是提供保障而不是查找故障。
保证没有错误的唯一方法是不写代码,减少错误的最好方法是少写代码。
简单的设计和实现是减少错误的最佳方法。简单的代码错误必定少。
画蛇添足式的功能则是最大的错误发源地
不,跑测试程序都不能找到错误,看代码怎么可能看出来?
复核代码的目的有:
* 检查代码是否规范,如命名规范,注释
* 保证一段代码至少有两人共同熟悉,可以由任一人来更改。
* 检查设计思想是否如实实现,代码如何表达设计
* 审察未文档化的细节设计,即由代码直接表达的设计,由代码人口述设计并对照代码
* 检查是否暴露出原设计的缺陷,需要重新设计?
程序员是否认为自己的程序有错误?
自信没有错误和怀疑代码还有错误,哪个是正确的心态?
我认为程序员永远都不会有100%的自信。
即使程序已经发布,被用户接受很长时间,只有好评没有抱怨,依旧不能确认有没有错误。
只能假定错误是永恒的,它们一直在那里,只是不到条件爆发。
一个程序员能做的就是,排除所有肤浅的错误,加大隐藏错误出现的几率并找到它们,
采用一些容错性代码减小可能的错误,减少程序发布后爆发的机率。
测试的目的是为了发现错误,
但是单元测试,功能测试的覆盖度能有多高?
没有100%覆盖的测试。就是说,总是有一些状态是测试不到的。
代码人员认为不可避免地存在错误,需要测试,测试人员认为测试覆盖度不可能100%,还是要代码小心。
这是一个头痛的问题,结果是没有完美的程序。
单元测试是白箱测试,可以根据代码实现将注意力放到最关键的部位。
但仍然不是100%覆盖的。
单元测试一般针对的是边界数据,不要求覆盖度,而更要求有效性。
其目的更主要的是保证代码更改不会破坏原有的正确性,是提供保障而不是查找故障。
保证没有错误的唯一方法是不写代码,减少错误的最好方法是少写代码。
简单的设计和实现是减少错误的最佳方法。简单的代码错误必定少。
画蛇添足式的功能则是最大的错误发源地
- 程序员怎么样才能保证自己的程序没有BUG
- 评“程序员怎么样才能保证自己的程序没有BUG”
- 程序员怎么样才能保证自己的程序没有BUG
- 程序员怎么样才能保证自己的程序没有BUG
- 程序员怎么样才能保证自己的程序没有BUG
- 程序员怎么样保证自己的程序没有BUG
- 程序员怎么样保证自己的程序没有BUG
- 程序员怎么样保证自己的程序没有BUG
- 程序员怎么样保证自己的程序没有BUG
- 程序员怎么样保证自己的程序没有BUG
- 程序员怎么样保证自己的程序没有BUG!
- 程序员怎么样保证自己的程序没有BUG
- 什么样的程序员才能写出没有bug的代码?
- 什么样的程序员才能写出没有bug的代码呢?
- 怎么样才能做个合格的程序员
- 一个新加入的程序“猿”,怎么样才能让自己爱上这个行业
- 程序员怎么样才能提高
- 怎么样才能锻炼自己成为优秀的产品经理?
- Java学习之路:不走弯路,就是捷径
- 以编程方式创建用户控件
- 基于组件技术的C#开发 --委托
- Java数据报(UDP)编程
- Eclipse资源收集
- 程序员怎么样才能保证自己的程序没有BUG
- 高质量C++/C编程指南 -- 第1章 文件结构
- Server.Transfer,Response.Redirect的区别
- 深入浅出设计模式-学习笔记(1) Strategy
- 迷惘的周五
- EMR咨询服务行业解决方案
- 在C#中创建自定义控件
- 测试
- 威金蠕虫(网吧杀手)肆虐互联网 九千用户十余企业遭攻击