記一次超級(jí)蛋疼的需求

今天上班,QA照慣例扯著嗓子對(duì)我吼:“Cole,你過來一下“
我忐忑不安的走過去,只期望在這版本上線之前不要出現(xiàn)什么大bug為好
還好情況是這樣的,我簡單描述一下

支付金額輸入框沒做校驗(yàn),首位居然可以輸0

接下來,QA開始了機(jī)關(guān)槍模式:”你這東西讓用戶怎么用,用戶體驗(yàn)在哪里,線上出了bug算你的算我的?balabala……“
我揉了一下太陽穴,無奈道:**”好的,10分鐘后給你“ **
后來事實(shí)證明我說了一句多么愚蠢的話

第一回合

因?yàn)槲铱刂奇I盤的KeyBoardType 是數(shù)字鍵盤,所以關(guān)于小數(shù)點(diǎn)或者英文輸入我就沒太在意(致命錯(cuò)誤)



思路太簡單了,簡直信手拈來,我只要控制第一位不為0不就OK了嗎,我是這么寫的

  • 首先我給textField addTarget增加監(jiān)聽方法
    [fieldAmount addTarget:self action:@selector(textFieldChanged:) forControlEvents:UIControlEventEditingChanged];

  • 其次,實(shí)現(xiàn)其方法
    -(void)textFieldChanged:(UITextField )sender{
    if (sender.text.length == 1 && [sender.text isEqualToString:@"0"]) {
    fieldAmount.text = @"";
    }
    }
    搞定了,在心中默念一聲
    ”我太TM牛逼了“ 囂張跋扈的走到QA面前:”喏,給你,別再BB了“*

QA傻了眼,斷然沒料想到我能這么快就解決問題,一話不說默默地測(cè)了起來
我心中正得意,剛想起身往回走
”你等一下“
”不會(huì)吧“ 我心中頓時(shí)一沉
”這第三方鍵盤還是能輸入英文字符的啊,你是想讓用戶輸入歐元美元還是咋的“ QA瞇著三角眼看我
**”完了,只考慮系統(tǒng)的,第三方的忽略了” **我額頭冒出了冷汗,這腦殘QA不會(huì)又記我一個(gè)bug吧“
”好的,我馬上改“ 我擦了一下冷汗

第二回合

這次我不敢大意了,還是得夾著尾巴做人
第一個(gè)想到的就是正則,限制用戶只能輸入數(shù)字,其實(shí)也很簡單,憑著我僅存的一點(diǎn)正則知識(shí),我還是迅速的寫了出來
- (void)textFieldChanged:(UITextField *)sender{
NSString regex = @"^[1-9][0-9]$";
NSPredicate *prd = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if (![prd evaluateWithObject:sender.text]) {
fieldAmount.text = @"";
}
}
到這時(shí)候,我還是覺得我是有實(shí)力的,快速查找問題,解決問題,老子天下第一哈哈哈哈。

”你這還是不對(duì)啊,你輸入英文或者復(fù)制一段數(shù)字過來就清空輸入框,用戶體驗(yàn)嚴(yán)重有問題“ 一盆徹骨的冷水潑了過來
”這QA腦子有病“ 我當(dāng)時(shí)想

痛苦的第三回合

我已經(jīng)開始有點(diǎn)屈服了,再不解決,在Code界真的是沒法混了,經(jīng)過深思熟慮,最終版誕生了,我當(dāng)場(chǎng)發(fā)下毒誓:”如果還有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瘋狂測(cè)了半小時(shí),最后確定通過,我流下了感動(dòng)的流水

經(jīng)過這件事,我明白了一件事:人生在世莫裝逼,惹QA的都傻逼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容