码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 解决一个复杂bug 之 计分卡

时间:2015-12-28 12:08:42      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

  由于该模块界面和业务逻辑都很复杂,并且整个界面设计和业务逻辑都在ViewController(下面简称为VC)里面完成。该VC共有3000多行,一个函数几百张的也有。所以,解决起来真是头疼。

1. 问题描述

  当用户操作计分卡时,分数可能不对,前场和后场的序号也可能不对。也是就说,数据读写造成了错误。

2. 问题分析

  分析:这么看来,应该是业务逻辑出现了问题。但是,跟界面的更新有没有关系,也是说不清楚。当遇到这种大量界面和逻辑纠结在一起的情况,一切也就说不清楚了。

3. 解决思路

  怎么解决呢?现在来说,解决bug是当务之急,至于以后重构,那也是以后的事情。在这个大前提下,怎么切中要害,就是解决问题的关键了。要想解决问题,总要复现问题,这个问题的麻烦之处就在于,问题很难复现。

  复现问题:怎么复现问题呢,据说是在操作的时候,横向纵向不停地转屏。最后,传给服务器的数据就错了。也是在这个提示下,曾经出现过一次数据的错乱。但是后来就没有再出现过。很奇怪吧。

4. 解决步骤:

  我从来不相信猜测,除非对程序特别的胸有成竹,或者程序本身特别检查。

  那么,我要解决问题,必须复现问题。我就要打印出操作时的数据,这是解决这个问题的核心思想。当我发现什么时候的什么操作导致问题复现时,怎么解决就有了一个明确的方向。

  所以我要记录步骤。

4.1.解决尝试一

4.1.1. 打印数据

  数据部分有两个,一个是现有数据,一个是修改的数据。我打印出这两个数组即可。

4.1.2. 记录步骤

  不在此详述...

  

  

  

  

iOS 解决一个复杂bug 之 计分卡

标签:

原文地址:http://www.cnblogs.com/SimonGao/p/5081883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!