美文网首页iOS程序员iOS点点滴滴
记一次超级蛋疼的需求

记一次超级蛋疼的需求

作者: ColeX | 来源:发表于2015-12-30 11:26 被阅读1253次

今天上班,QA照惯例扯着嗓子对我吼:“Cole,你过来一下“
我忐忑不安的走过去,只期望在这版本上线之前不要出现什么大bug为好
还好情况是这样的,我简单描述一下

支付金额输入框没做校验,首位居然可以输0

接下来,QA开始了机关枪模式:”你这东西让用户怎么用,用户体验在哪里,线上出了bug算你的算我的?balabala……“
我揉了一下太阳穴,无奈道:**”好的,10分钟后给你“ **
后来事实证明我说了一句多么愚蠢的话

第一回合

因为我控制键盘的KeyBoardType 是数字键盘,所以关于小数点或者英文输入我就没太在意(致命错误)



思路太简单了,简直信手拈来,我只要控制第一位不为0不就OK了吗,我是这么写的

  • 首先我给textField addTarget增加监听方法
    [fieldAmount addTarget:self action:@selector(textFieldChanged:) forControlEvents:UIControlEventEditingChanged];

  • 其次,实现其方法
    -(void)textFieldChanged:(UITextField )sender{
    if (sender.text.length == 1 && [sender.text isEqualToString:@"0"]) {
    fieldAmount.text = @"";
    }
    }
    搞定了,在心中默念一声
    ”我太TM牛逼了“ 嚣张跋扈的走到QA面前:”喏,给你,别再BB了“*

QA傻了眼,断然没料想到我能这么快就解决问题,一话不说默默地测了起来
我心中正得意,刚想起身往回走
”你等一下“
”不会吧“ 我心中顿时一沉
”这第三方键盘还是能输入英文字符的啊,你是想让用户输入欧元美元还是咋的“ QA眯着三角眼看我
**”完了,只考虑系统的,第三方的忽略了” **我额头冒出了冷汗,这脑残QA不会又记我一个bug吧“
”好的,我马上改“ 我擦了一下冷汗

第二回合

这次我不敢大意了,还是得夹着尾巴做人
第一个想到的就是正则,限制用户只能输入数字,其实也很简单,凭着我仅存的一点正则知识,我还是迅速的写了出来
- (void)textFieldChanged:(UITextField *)sender{
NSString regex = @"^[1-9][0-9]$";
NSPredicate *prd = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if (![prd evaluateWithObject:sender.text]) {
fieldAmount.text = @"";
}
}
到这时候,我还是觉得我是有实力的,快速查找问题,解决问题,老子天下第一哈哈哈哈。

”你这还是不对啊,你输入英文或者复制一段数字过来就清空输入框,用户体验严重有问题“ 一盆彻骨的冷水泼了过来
”这QA脑子有病“ 我当时想

痛苦的第三回合

我已经开始有点屈服了,再不解决,在Code界真的是没法混了,经过深思熟虑,最终版诞生了,我当场发下毒誓:”如果还有bug,我直播吃翔“
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSString *result = [textField.text stringByReplacingCharactersInRange:range withString:string];
if (result.length == 0) return YES;
NSString regex = @"^[1-9][0-9]$";
NSPredicate *prd = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
return [prd evaluateWithObject:result];
}
QA疯狂测了半小时,最后确定通过,我流下了感动的流水

经过这件事,我明白了一件事:人生在世莫装逼,惹QA的都傻逼

相关文章

  • 记一次超级蛋疼的需求

    今天上班,QA照惯例扯着嗓子对我吼:“Cole,你过来一下“我忐忑不安的走过去,只期望在这版本上线之前不要出现什么...

  • 我参加了一场超级“无聊”的比赛丨国际第二届发呆大赛

    一次集体(wu)蛋(yi)疼(shi)的艺术 发呆顾名思就是“闲的蛋疼”的人,号召一群人一起“蛋疼”,并且一群更加...

  • 蛋疼

    这是一次不可思议的经历,甚至有些搞笑,还有些荒唐。 事情发生在去年的秋天,整整过去一年了。那时的我感觉身体好像出了...

  • 蛋疼

  • 只要肯努力,什么都能挣到!

    蛋疼! 真的蛋疼! 现在真的很蛋疼! 我不开玩笑! 2018年,我过的很蛋疼! 请欣赏这个视频。“只要肯努力,什么...

  • 记一次蛋疼的PHP后台任务

    要求实现这样一个功能(亲S爱B的客户) 想同时设置多个时间段的,怎么实现呢,例如,10001.10020.1008...

  • textview - drawableXXX 设置大小

    给 TextView 设置 Drawable 图片是我们最常用的需求了,但是蛋疼的是,这种设置的 Drawable...

  • 在Ubuntu下作妖之闲的蛋疼篇

    你闲的蛋疼么? 你闲的蛋疼么? 你闲的蛋疼么? 你肯定闲的蛋疼,要不然也不会看这篇文章~~ 好吧,想好好的理解这篇...

  • 和对的人在一起相处才是对的

    来上海几天了,有一些烦心的事,一些蛋疼的事。 烦心的事不提,蛋疼的事提一提,到现在都觉得很蛋疼,因为有蛋疼的人,不...

  • POI操作PowerPoint自动生成报表

    1、需求 接到一个很蛋疼的需求:每天自动查询前一天的运营数据,生成power point图表,发送给相关领导。 p...

网友评论

  • Pierre_:为什么我这里一输入数字就崩了呢???
  • e9a44a336dfe:真的会吃翔么?会直播吗?
    ColeX:@煜_ 哥们你的关注点有点奇葩
  • 大灰灰iOS:啊哈哈哈。。
  • 坏人_李哈哈:为什么不能直接禁用第三方键盘呢?只输入数字用户体验又不会不好
    ColeX:@坏人_李哈哈 多谢,我试试
    坏人_李哈哈:@ColeXm 我也没做过,刚试了一下可以调用 - (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier NS_AVAILABLE_IOS(8_0){
    return NO;
    }方法禁用第三方键盘,再在你要数数字的地方用self.textF.keyboardType = UIKeyboardTypeNumberPad就可以了。
    ColeX:@坏人_李哈哈 怎么禁,请指教…
  • Tracy_ljs:有空给你们上一堂课
    ColeX:@一棵树ios 你自己正则这么烂,有脸?
  • 98ba33deeaa9:让你一天到晚瞎装逼:sunglasses::sunglasses::sunglasses:,莫装逼,装逼,装逼被雷劈,不过还是很6的:+1:
  • sandy183:你信不信我可以给你输进去汉语?
    ColeX:@sandy183 有办法杜绝吗
    sandy183:@ColeXm 不是,中文输入法toolbar上面的东西可以直接点进去
    ColeX:@sandy183 粘贴进去?
  • e93147302994: :stuck_out_tongue_winking_eye: 莫装逼。

本文标题:记一次超级蛋疼的需求

本文链接:https://www.haomeiwen.com/subject/jkeihttx.html