公司名称:河南蓝鸥科技有限公司

联系人:刘老师 先生 (运营)

电话:0371-55153597

传真:

手机:15838221845

郑州安卓开发培训|安卓培训班哪里好

发布时间:07月20日

详细说明

郑州安卓培训
编码

下面这些都是郑州安卓培训经历过的会导致难点bug的问题:

1.事件顺序。在处理事件时,提出下列问题会很有成效:事件可以以不同的顺序到达吗?如果我们没有接收到此事件会怎么样?如果此事件接连发生两次会怎么样?哪怕通常不会发生,但系统(或交互系统)其他部分的bug可能会导致事件发生呢。

2.过早。这是第一点“事件顺序”的一个特例,但它确实会引起一些棘手的bug,因此郑州安卓培训把它单独拎出来说明。例如,如果信令消息在配置和启动程序完成之前就被过早接收,那么可能就会有很多奇怪的行为发生。另一个例子:连接在被放进空闲列表之前就被标记为down。在调试这类问题时,我们总是假定在空闲列表中的时候连接被设置为down(但当时为什么不把它放到列表外面呢?)。这是我们思考的不足,没有考虑到有时候事情会过早发生。

3.悄无声息的故障。一些*难跟踪的bug有部分是由那些静静失败并扩展而不是抛出错误的代码所导致的。例如,没有检查代码却返回错误的系统调用(如bind)。又如:解析代码在它遇到错误元素的时候只是返回而非抛出错误。在错误状态中持续了一段时间的调用,会使调试变得更难。*好一旦检测到故障就返回错误。

4.If。有若干条件的if语句,if (a 或 b) ,特别是当有链接的时候, if (x) else if (y),都给我引发了很多bug。即使if语句在概念上很简单,但当有多个条件要跟踪的时候依然很容易出错。这些天,我尝试重写代码使之更简单,以避免处理复杂的if语句。

5.Else。有一些bug是因为没有正确考虑到如果条件为false时会发生什么而引起的。几乎在所有的情况下,都应该有一个else部分来应对每一条if语句。此外,如果你在if语句的分支中设置变量,那么或许你在另一个分支中也要设置。与此种情况相关的是标记被设置的情况。只添加用于设置的标记的条件不难,但是很容易忘了添加当标记应该再次重置时的条件。留下一个永远设置的标志可能会导致之后接连不断的bug。

其他问题,如循环错误和边界情况,郑州安卓培训看到的要少得多。但是,这并不意味着那里没有bug。这篇文章中的经验教训旨在帮助减少编码,测试和调试三个阶段的bug。如果大家有什么有用的预防和发现bug的技术方法,欢迎不吝指导。

QQ:2290909800 QQ交流群:493076664;97682894;咨询电话(Phone):15838221845(手机)

地址(Address): 郑州市高新区莲花街牡丹

河南蓝鸥科技有限公司


联系人:刘老师 先生 (运营)
电 话:0371-55153597
传 真:
手 机:15838221845
地 址:中国河南郑州市莲花街55号教育科技产业园B座
邮 编:450001
网 址:http://2290909800.qy6.com.cn(加入收藏)