不凡伊!警察叔叔這個坑不是我挖的窒舟,我只是填坑的雷鋒啊银还!
最近幾天洁墙,都在討論bg的賬戶體系。雖然我之前大約出了方案和頁面苍苞,然而最終還是花了不少時間討論細節(jié)狼纬。究其原因疗琉,一方面是帳號系統(tǒng)本身麻煩點歉铝,另一方面歸功于某未曾謀面的ex產(chǎn)品給我們挖的大坑
事情是這樣的。早期這個軟件的注冊方式是:郵箱注冊和用戶名注冊柠贤。用戶名的規(guī)則規(guī)則呢类缤?——進來的用戶可以輸入一個用戶名,然后輸入密碼完事宴霸。——這種注冊方式缺陷是:有些用戶用著用著就忘記自己用的什么用戶名了畸写,于是這個帳號就爛死在那兒了氓扛。(比如之前安智網(wǎng)的帳號就這樣——最后我把郵箱翻個底朝天然后從郵件里找到了注冊時用的用戶名)
這種方式在七八年前也許還是正常的采郎,然而后來有了第三方登錄,有了綁定手機提高安全性等方式之后真慢。第三方和手機號慢慢成為主流理茎。(所以其實有些不解為什么bg早期還有用戶名注冊這種奇葩啦)。用戶也慢慢習慣用手機或者郵箱作為登錄時的帳號信息朗鸠,于是今年五月我在看后臺訂單的購買方式時烛占,也看到各種奇怪的用戶名沟启,英文的、拼音的芽卿、手機號的胳搞、郵箱號的
于是這幫用戶名注冊的用戶就成了我們最頭疼的麻煩。
首先筷转,這種方式可以注冊無限小號悬而,來刷優(yōu)惠券摊滔,囤貨之類
其次店乐,這種方式注冊的呻袭,(由于我們沒綁定手機)一旦忘記用戶名什么的左电,就不知道怎么進來了。不管是從用戶的體驗來說段誊,還是對客服造成的負擔來說——都呵呵
最后栈拖,由于用戶名注冊時涩哟,對用戶名并沒有做限制,因此有些用戶用了手機號或者郵箱地址作為用戶名潜腻。但是登錄時輸入框里是郵箱器仗、手機、用戶名都可以填寫的威鹿。程序們比較僥幸就索性是拿這個帳號密碼去配轨香,如果有就通過(漏洞是:萬一都是帳號a,密碼b就玩玩兒了——雖然這個概率倒是也不大)
所以,用戶名算一個坑策橘,
【坑1】:用戶名注冊
【坑的方式】:不方便記住娜亿、不方便找回
【結論】:與時俱進买决,在兩年前哪種第三方登錄遍地走吼畏、手機注冊也不少的時候嘁灯,也該多考慮新事物放棄老事物了
【坑2】:用戶名注冊時對格式?jīng)]有限制
【坑的方式】:①導致后期的登錄時輸入一串手機號數(shù)字但系統(tǒng)不知道輸入的數(shù)字是手機號還是用戶名的問題 ? ?②其他可能后果:用戶在注冊時使用了特殊字符,后來換手機換輸入法然后半天找不到那個特殊字符 ?③其他暫時沒想到的東西
【結論】:通過限定的流程或者條件丑婿,來限定用戶的行為性雄,從而產(chǎn)生更少的用例(或者不同的情況)——這樣,一方面是開發(fā)人員的工作量更小羹奉,另一方面如果情況變化需要調(diào)整系統(tǒng)時秒旋,所需要兼容的老數(shù)據(jù)也更少。
【坑3】:規(guī)劃手機號注冊時诀拭,使用手機號作為id了(確切來說:作為唯一標識)
【坑的方式】:①以前用戶名注冊時用的迁筛,用戶填寫的用戶名有使用電話號碼的(因為坑1:沒限制 格式),所以有一定幾率重合 ? ? ②用戶更換手機號的時候耕挨,因為id是唯一標識不變细卧,所以換了手機號之后id沒變。老手機被運營商回收之后俗孝,新買到號碼的人就會發(fā)現(xiàn)自己用不了了——因為id還被占用著,只是該id綁定的手機不同了而已赋铝。插勤。。 ?
【結論】:
①當在一個輸入框里革骨,允許了n個不同字段农尖,那么這n個字段要做到不重復(確切:歷史數(shù)據(jù)和可能產(chǎn)生的新數(shù)據(jù)不重復)
②對于可回收的東西,要考慮因為回收這個特性帶來的問題良哲。
最終的總結:
1.參照以下主流應用的方式(因為這些應用可能培養(yǎng)或者改變用戶習慣)
2.如果可能出現(xiàn)多重情況盛卡,盡量列舉情況并限定,不要自己給自己挖坑
3.保留歷史數(shù)據(jù)——至少是在后臺筑凫。不然以后就不好查了
4.備份的數(shù)據(jù)滑沧,或者修改記錄一類,在考慮數(shù)據(jù)存放時巍实,一方面考慮不要影響現(xiàn)有數(shù)據(jù)的統(tǒng)計(主要出現(xiàn)在數(shù)據(jù)copy的情況下)滓技,一方面要考慮能在后臺保存(方便追查責任,也方便統(tǒng)計)
ps:在帳號合并時棚潦,我最初提議是可以選擇在前臺將兩個賬戶綁在一起令漂。大家說誒eleme不是這么干的啊,人家如果某帳號已經(jīng)注冊就不能綁定了除非解除綁定——想想的話,我這就是在給自己挖坑了叠必,因為把合并帳號放到前臺后荚孵,合并帳號的人必然增多,于是有增加了一些風險:手機被別人拿走之后纬朝,自己的帳號被別人合并走了收叶。。玄组。滔驾。睡一覺起來帳號被別人拿走了。俄讹。哆致。。等等奇怪的問題患膛。嘛摊阀,干嘛要給自己挖坑呢?)——限制踪蹬,有時候是為了不被更多的麻煩的用例所困擾的說