随想,产品思维和开发思维
有時(shí)候,產(chǎn)品思維和開發(fā)思維,由于出發(fā)點(diǎn)的不同,會(huì)產(chǎn)生較大的分歧。
作為一個(gè)開發(fā),不僅要有自己的思維,也要了解產(chǎn)品的思維,這樣才能在和產(chǎn)品的撕逼的戰(zhàn)斗中所向披靡,百戰(zhàn)百勝。
舉個(gè)例子:
比如你在系統(tǒng)上提交一個(gè)申請(qǐng)單,這時(shí)這個(gè)申請(qǐng)的狀態(tài)是待審核。
待審核狀態(tài),可以變成審核通過和審核不通過。
這時(shí)分歧就來了,如果是審核不通過,原因是因?yàn)樯暾?qǐng)單里面的一些東西寫錯(cuò)了,那應(yīng)該是重新生成一個(gè)申請(qǐng)單呢,還是修改之前審核不通過的這個(gè)申請(qǐng)單然后繼續(xù)審核呢。
說實(shí)話,我也見過不少優(yōu)秀的產(chǎn)品設(shè)計(jì)了,這種問題我的第一反應(yīng),肯定是新生成一個(gè)申請(qǐng)單,或者說,我從來都不會(huì)想出還能修改之前的申請(qǐng)單這種操作。
但我們想想設(shè)計(jì)出要修改舊申請(qǐng)單的這種產(chǎn)品同學(xué),設(shè)計(jì)的初衷是什么,我覺得應(yīng)該是想著審核失敗了,就在原來的申請(qǐng)單上改一下,就可以重新審核了,也比較方便,怎么說呢,這個(gè)邏輯應(yīng)該是和改卷子一樣了。如果哪里寫錯(cuò)被老師打回了,就在原來的卷子上改一改就好,不會(huì)有人會(huì)再找份新卷子,再把所有的再寫一遍了。
卷子直接改,是因?yàn)樵賹懸环菪碌奶闊┮矝]必要,但程序要是設(shè)計(jì)成這樣,就有點(diǎn)難受了,因?yàn)閷?duì)于程序來說,新生成一個(gè)申請(qǐng)單,并不是什么難事,而直接修改,就不是隨便找個(gè)空子寫上去的問題了,我簡單說說為什么這種情況要新生成,而不要修改舊的申請(qǐng)單的原因:
1、狀態(tài)最好是單向,且有終態(tài)。
我們說任何狀態(tài)的變化,最好都是單向的,且有個(gè)最終狀態(tài),就是一旦到達(dá)最終狀態(tài),數(shù)據(jù)就不可變了。這樣設(shè)計(jì)的好處就是在后期的判斷和維護(hù)上,都是可以解耦的,如果狀態(tài)直接可以任意跳轉(zhuǎn),那一旦狀態(tài)變多,最后就是一鍋粥了。而且有了終態(tài),就可以做很多事情了,相反如果狀態(tài)一直沒有終態(tài),你永遠(yuǎn)不知道這個(gè)狀態(tài)還會(huì)變成什么,那很多統(tǒng)計(jì)的事情就會(huì)因?yàn)檫@個(gè)變得特別復(fù)雜。
2、每次申請(qǐng)最好能清晰記錄
每次申請(qǐng),都是一個(gè)記錄,如果每次審核不通過的重寫申請(qǐng),都是新申請(qǐng),那根據(jù)申請(qǐng)人,就可以知道這個(gè)人的操作記錄了,比如什么時(shí)候提交申請(qǐng),什么時(shí)候被審核不通過了,什么時(shí)候又重新提交了申請(qǐng)等等,甚至后面還可以比對(duì)出后面申請(qǐng)都改了什么東西。反觀直接修改,那就相當(dāng)于把之前的申請(qǐng)覆蓋了,如果再審核不通過,再修改,這樣多幾次,誰都不知道一開始是申請(qǐng)什么了。
總結(jié)
以上是生活随笔為你收集整理的随想,产品思维和开发思维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虾米自动签到 php,云签到之虾米音乐自
- 下一篇: VRF抽签与投票的思考