架構(gòu)學(xué)習(xí)-系統(tǒng)重構(gòu)(業(yè)務(wù))

?????? A01.定義重構(gòu) 自問自答:要不要當(dāng)前系統(tǒng)重新寫一遍呢? 要不要系統(tǒng)中某個(gè)某塊重新寫一遍呢? 如果回答內(nèi)容”是”. 重構(gòu)就是把舊的系統(tǒng)全部推翻或者部分推翻,開發(fā)新的系統(tǒng)來代替舊的系統(tǒng)或某個(gè)部分.公司案例:第一版公司中php寫的業(yè)務(wù)轉(zhuǎn)JAVA語言開發(fā),屬于整個(gè)系統(tǒng)的重構(gòu).第二版后續(xù)的商標(biāo)注冊(cè)類業(yè)務(wù)進(jìn)行訂單優(yōu)化,后續(xù)的商品模塊進(jìn)行局部重構(gòu);

??????? A05.何時(shí)重構(gòu) 業(yè)務(wù)主導(dǎo):對(duì)當(dāng)前業(yè)務(wù)流程做顛覆性的改變,導(dǎo)致當(dāng)前的系統(tǒng)的實(shí)現(xiàn)不滿足業(yè)務(wù)的要求; 當(dāng)前業(yè)務(wù)系統(tǒng)已經(jīng)無法對(duì)業(yè)務(wù)進(jìn)行有效支持,延誤業(yè)務(wù)的發(fā)展; 當(dāng)前系統(tǒng)的實(shí)現(xiàn)語言需要修改為其他的編程語言去實(shí)現(xiàn). 技術(shù)主導(dǎo):對(duì)當(dāng)前系統(tǒng)的架構(gòu)進(jìn)行調(diào)整

??????? A10.關(guān)鍵維度 做重構(gòu),需要考慮哪些關(guān)鍵性,或者說決定性因素呢? ?哪些關(guān)鍵步驟呢?? x1.業(yè)務(wù)梳理梳理;?? x2.代碼邏輯梳理;? x3.業(yè)務(wù)數(shù)據(jù)遷;? x4.架構(gòu)設(shè)計(jì)

????? A15.不要重構(gòu) 哪些情況下不建議進(jìn)行系統(tǒng)重構(gòu)?? 1.如果系統(tǒng)對(duì)業(yè)務(wù)的后續(xù)支持遠(yuǎn)遠(yuǎn)未到臨界點(diǎn),那么不建議做系統(tǒng)重構(gòu);? 2.如果是小眾領(lǐng)域的公司,其實(shí)切換編程語言做系統(tǒng)重構(gòu)沒有什么價(jià)值,因?yàn)闃I(yè)務(wù)領(lǐng)域決定體量;? 3.如果以搶占市場(chǎng)為目標(biāo)的創(chuàng)業(yè)公司,達(dá)到目標(biāo)體量后再?zèng)Q定是否做重構(gòu); 4.對(duì)于業(yè)務(wù)根本沒有連貫性的產(chǎn)品,不要重構(gòu),因?yàn)橹貥?gòu)后說不準(zhǔn)第二天產(chǎn)品又變化.

????? A20.現(xiàn)實(shí)約束 x1.人力成本, 2.人員更替, 3.業(yè)務(wù)梳理, 4.業(yè)務(wù)迭代, 5.新舊數(shù)據(jù), 6.技術(shù)約束 總結(jié):在人員,業(yè)務(wù),架構(gòu),數(shù)據(jù)四個(gè)關(guān)鍵維度上,如果研發(fā)人員和產(chǎn)品經(jīng)理都是新參與,那么系統(tǒng)重構(gòu)的危險(xiǎn)性比較高,并且人力成本會(huì)非常高. 因?yàn)閷?duì)之前業(yè)務(wù)不熟悉不了解導(dǎo)致業(yè)務(wù)設(shè)計(jì)的缺憾,導(dǎo)致不得不做后期重構(gòu).如果不是財(cái)大氣粗的公司,那么一定要考慮的內(nèi)容是人力成本,將人力放在重要業(yè)務(wù)上;? x2.如果公司人員變動(dòng)不大,產(chǎn)品經(jīng)理或研發(fā)人員對(duì)業(yè)務(wù)都非常熟悉,這是重構(gòu)的完美前提.如果要把業(yè)務(wù)做徹底的變動(dòng),那么對(duì)研發(fā)人員的要求比較高. ?? x3.最糟糕的情況就是曾經(jīng)的產(chǎn)品經(jīng)理或研發(fā)人員都離職,后續(xù)的任務(wù)很挑戰(zhàn)新的產(chǎn)品經(jīng)理和研發(fā)人員的能力;? x4.復(fù)雜業(yè)務(wù),對(duì)于昔日設(shè)計(jì)的產(chǎn)品經(jīng)理不在,很挑戰(zhàn)新來的產(chǎn)品經(jīng)理對(duì)業(yè)務(wù)的梳理;如果有開發(fā)的研發(fā)或者測(cè)試人員,情況還好;如果整體業(yè)務(wù)迭代速度比較高,那么重構(gòu)后的業(yè)務(wù)可能已經(jīng)至于后維護(hù)的舊業(yè)務(wù);需要對(duì)業(yè)務(wù)迭代進(jìn)行必要的延期,否則重構(gòu)無法完成;? x5.如果是新研發(fā)人員,需要對(duì)舊業(yè)務(wù)進(jìn)行了解,數(shù)據(jù)遷移比較痛苦.需要對(duì)新舊數(shù)據(jù)庫做根本的了解.這時(shí)候?qū)ρ邪l(fā)人員的能力要求比較高,否則一定又可能技術(shù)能力約束導(dǎo)致出現(xiàn)各種各樣的數(shù)據(jù)問題[新舊數(shù)據(jù)和技術(shù)約束]; 理想情況下:? y1.舊業(yè)務(wù)拋棄,使用新業(yè)務(wù)模式,但是對(duì)新舊數(shù)據(jù)庫有充分的理解,壓力在技術(shù);? y2.舊業(yè)務(wù)做梳理,然后有之前的研發(fā)人員或之前的產(chǎn)品經(jīng)理,然后做重構(gòu); y3.最差的就是新的研發(fā)人員,新的產(chǎn)品經(jīng)理去做舊系統(tǒng)重構(gòu)

????? A25.難點(diǎn)剖析 x1.業(yè)務(wù)梳理難度: 1.系統(tǒng)使用時(shí)間,如果幾個(gè)月還好,如果幾年那就比較難梳理; 2.簡(jiǎn)單系統(tǒng)需要做業(yè)務(wù)的重構(gòu)嘛?這是個(gè)白癡的問題;3.如果產(chǎn)品不斷向前迭代,那么比較好梳理,因?yàn)橛兄骶€;4.如果經(jīng)歷n手的研發(fā)人員,研發(fā)人員的幫助不會(huì)太多; 5.如果經(jīng)歷n手的測(cè)試人員,那基本上只是粗粒度的脈絡(luò)梳理而已;6.如果經(jīng)歷n手的產(chǎn)品經(jīng)理,基本上產(chǎn)品連貫性不會(huì)太好;? x2.代碼邏輯梳理: 1.如果經(jīng)歷n手的研發(fā)人員,那么代碼邏輯的整理會(huì)比較困難; 2.建議從產(chǎn)品經(jīng)理進(jìn)行業(yè)務(wù)梳理,研發(fā)人員的文檔編寫處理能力一般不怎么地;? x3.業(yè)務(wù)數(shù)據(jù)遷移: 1.如果是n手的研發(fā)人員,數(shù)據(jù)遷移會(huì)是比較頭疼的事情; 2.如果有之前的系統(tǒng)開發(fā)者那么就謝天謝地. x4.業(yè)務(wù)迭代速度, 1.如果舊系統(tǒng)業(yè)務(wù)迭代速度比較快,那么可能重構(gòu)后的系統(tǒng)根本不復(fù)合業(yè)務(wù)的發(fā)展,那么就降低業(yè)務(wù)迭代速度; 2.跟可怕的是業(yè)務(wù)迭代根本不連續(xù),可能這次重構(gòu)后,業(yè)務(wù)已經(jīng)迭代到十萬八千里.所以需要控制業(yè)務(wù).

????? A30.如何解決? x1.一切處理的因素都是人,那么招來厲害優(yōu)秀的人,單兵作戰(zhàn)能力強(qiáng)大的產(chǎn)品經(jīng)理和研發(fā)人員來主導(dǎo).尤其在產(chǎn)品經(jīng)理和研發(fā)人員經(jīng)過n重天的時(shí)候;? x2.再次務(wù)必確定是否要做系統(tǒng)重構(gòu),因?yàn)橹貥?gòu)的成本確實(shí)可能無法接受; x3.最后能一次做好,那么就一次做好.如果你招來的人很差,做出來的內(nèi)容不會(huì)好,重構(gòu)的概率自然就非常大,重構(gòu)的時(shí)間和經(jīng)濟(jì)成本,業(yè)務(wù)延遲成本遠(yuǎn)遠(yuǎn)多于薪資.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盟榴,一起剝皮案震驚了整個(gè)濱河市国旷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖队秩,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異贝淤,居然都是意外死亡复罐,警方通過查閱死者的電腦和手機(jī)匣掸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來氮双,“玉大人碰酝,你說我怎么就攤上這事〈鞑睿” “怎么了送爸?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)暖释。 經(jīng)常有香客問我袭厂,道長(zhǎng),這世上最難降的妖魔是什么球匕? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任纹磺,我火速辦了婚禮,結(jié)果婚禮上亮曹,老公的妹妹穿的比我還像新娘橄杨。我一直安慰自己,他們只是感情好照卦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布讥珍。 她就那樣靜靜地躺著,像睡著了一般窄瘟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上趟卸,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天蹄葱,我揣著相機(jī)與錄音,去河邊找鬼锄列。 笑死图云,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的邻邮。 我是一名探鬼主播竣况,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼筒严!你這毒婦竟也來了丹泉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鸭蛙,失蹤者是張志新(化名)和其女友劉穎摹恨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娶视,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晒哄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年睁宰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寝凌。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柒傻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出较木,到底是詐尸還是另有隱情红符,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布劫映,位于F島的核電站违孝,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏泳赋。R本人自食惡果不足惜雌桑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望祖今。 院中可真熱鬧校坑,春花似錦、人聲如沸千诬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽徐绑。三九已至邪驮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間傲茄,已是汗流浹背毅访。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盘榨,地道東北人喻粹。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像草巡,于是被迫代替她去往敵國(guó)和親守呜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容