|
私以為架構是業(yè)務開發(fā)的發(fā)展歷史,順應大方向而生,再為貼切時刻的用戶需求,持續(xù)微改動。 我本以為了解這個軟件的架構沒甚意思,加快的開發(fā)速度不能過渡到下一個別的軟件去; 卻不知以小窺大,關鍵還是計算機思維、編程意識,設計結構。
這個月發(fā)生了一件事,當時臨近實施,卻卡在了一個bug上。 文本框內(nèi)綁定員工拾取器(員工拾取器是公司開發(fā)的,類似于下拉列表), 邏輯默認打開“個人常用”內(nèi)容的職員列表,
而當時的bug是: 當選中其他(非個人常用)職員列表,拾取器閃爍并且永遠跳轉回“個人常用”當中; 在文本框內(nèi)輸入內(nèi)容拾取器就會瘋狂閃爍,形容瘋癲,仿佛中了毒。
我初以為是拾取器配置不對,但對象監(jiān)控看不出什么問題,參考別的正確使用拾取器,看不出區(qū)別; 這就很難,于是找了公司的老員工H哥幫我調試,他只能告訴我,拾取器閃爍是因為失焦再聚焦,重新觸發(fā)了打開; 至于為什么會突然失焦,調試不出來。改了前端樣式,也不管用。
實施緊迫,我把周遭的程序員都問了下,后來YM姐看這情況,懷疑是多次綁定了(兩個或多個拾取器在搶奪資源), 她斷點了我的綁定方法,發(fā)現(xiàn)進了兩次——文本框綁定了兩次拾取器。 真相大白,原來架構提供的自定義Presenter沒有調綁定接口,但是CompositeViewPresenter為了簡化代碼減少工作量,已經(jīng)實現(xiàn)了一些常規(guī)操作, 當時為了偷懶我用的就是CompositeViewPresenter,但卻在初始化的時候再(習慣性)手寫調了一次控件綁定…導致二次綁定。 這個bug煩了我?guī)讉€小時又幾個小時,讓YM姐破解了,就很棒,很程序員。
就這個問題而言,在我看來只有從思維上走能解,這次bug的現(xiàn)象我沒看出本質問題來,很愧疚,特記此事,以作警醒。
|
|
|