歸納,我認為是軟件設(shè)計的第二個境界储矩。
最近幾年丰涉,做設(shè)計或者coding時經(jīng)常要猶豫,總感覺不是好的方案环壤,于是懷疑是不是老了--也的確老了。今天設(shè)計幾個功能時钞诡,思考再三郑现,還是決定先停下來,晚些時候再做決定荧降。其實這幾個功能不難接箫,而且以前也做過,如反饋朵诫,舉報辛友,如果以前,我可能很快就做出來。對比之下废累,感覺現(xiàn)在慢是因為需要系統(tǒng)考慮邓梅,不是單一功能,要從整體考慮如何實現(xiàn)邑滨。
于是引出境界一:實現(xiàn)功能日缨。
我2001年開始系統(tǒng)做java項目,分析jivebbs掖看,分析turbine匣距,分析struct,然后仿寫哎壳,真是仿寫毅待,很快從一個菜鳥成為一個自認為的高手。當(dāng)時編程只能用一個字:快耳峦。年輕氣盛恩静、初生牛犢不怕虎、無知者無謂蹲坷,這些詞用到我身上感覺一點不為過驶乾。分析經(jīng)典代碼-修改-運行-看效果,我認為是初學(xué)者最好的學(xué)習(xí)方式循签,然后對著設(shè)計模式级乐,把最常用的幾種熟練運用,做到這幾點县匠,你一定會成為2080中的20风科。前提是你能逼自己讀懂代碼,會有幾天十幾天幾十天的痛苦期乞旦,取決于你的智商贼穆,一定要逼自己,就像跑長跑兰粉,過了適應(yīng)期就一帆風(fēng)順了故痊。
說個例子,當(dāng)時公司有個程序員玖姑,算是好學(xué)愕秫,也有工作經(jīng)驗,自視也不錯焰络。當(dāng)時我讓他做個單例的實現(xiàn)戴甩,講了道理,感覺他云里霧里闪彼,他埋頭苦思甜孤,一會和我說無從下手。我一邊講一邊寫,把代碼寫出來缴川。那個人的情況應(yīng)該還在境界之外囱稽,因為他不能用自己的知識組合運用來實現(xiàn)一個功能。
再回講歸納二跋。用開始的例子。
用戶反饋流昏、舉報這些功能扎即,app中、網(wǎng)站上一般都有况凉,究竟用戶能否使用谚鄙,我做2b的項目多,2c還沒有幾個上規(guī)模的項目刁绒,不好下結(jié)論闷营,但是既然是通常的配置,客戶也有要求知市,就做到設(shè)計中傻盟。開始覺得很簡單∩┍客戶端做個錄入的ui娘赴,管理端做個處理的ui。后來仔細分析跟啤,有這樣一些初級問題:
1诽表、不是閉環(huán),用戶需要能查詢
2隅肥、用戶可能需要再次對處理結(jié)果進行交互
3竿奏、是否需要通知用戶處理結(jié)果(郵件、短信腥放、微信)
再者泛啸,管理控制臺要單獨處理嗎?誰來使用這個功能捉片?要兩個組分別處理嗎平痰?這兩個是否同屬于客服呢?那么客服難道在客服平臺意外還需要到另外一個系統(tǒng)中來處理這些事嗎伍纫?客服使用saas的云客服嗎宗雇?如果那樣我們怎么接?如果客服我們自己開發(fā)莹规,還要接微信赔蒲、web、電話?還要有工單舞虱、工作流欢际?這兩個實體和工單是什么關(guān)系?是觸發(fā)工單做關(guān)聯(lián)還是就是工單矾兜?
我分析了幾個互聯(lián)網(wǎng)上的流行的saas客服损趋,還是不能做決定。做出這個功能很容易椅寺,應(yīng)該說打個箱子很簡單浑槽,但是組合成家具不容易,美觀易用利用好空間返帕。所以桐玻,我決定等等,根據(jù)客戶購買意愿和我們的投入產(chǎn)出比再說荆萤。
能做出來一個能用的功能的程序員應(yīng)該是合格的镊靴。我曾經(jīng)聽過這樣的言論,把菜單拆看链韭,看我們有這么多功能不能多賣錢嗎偏竟?我最近完成了100多個報表。我只能呵呵了梧油。有一種人是貪圖小便宜苫耸,反應(yīng)到生活工作的各個方面,而且他會把這種思維加到別人身上儡陨;有一種人是不想動腦褪子,或者說沒有多少腦子,有個要求我完成就ok了骗村。都會導(dǎo)致產(chǎn)品臃腫混亂嫌褪,猶如一團亂碼,用戶無從入手胚股。
歸納笼痛,還談不上創(chuàng)新,但是總是進一步琅拌,至少能看到一些實質(zhì)缨伊,能運用邏輯打掃下混亂的桌面。引用一句詩吧:刪繁就簡三秋樹 領(lǐng)異標(biāo)新二月花进宝。