日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

架構(gòu)的腐化是必然的

作者 | 曹春暉

來(lái)源 | 碼農(nóng)桃花源

架構(gòu)的腐化是必然的,不以人的意志為轉(zhuǎn)移。

我們先從一個(gè)故事開(kāi)始,從前有一個(gè)公司,這個(gè)公司有一個(gè)部門(mén),這個(gè)部門(mén)里有兩個(gè)組。

兩個(gè)組做的項(xiàng)目比較類似,都是策略類項(xiàng)目。

其中一個(gè)組做需求基本靠堆人,業(yè)務(wù)和 PM 的所有需求,能找到人,并且讓這個(gè)人在各種場(chǎng)景,各種模塊,各種分支里加 if else 就可以搞定,代碼膨脹飛快。很快沒(méi)人能說(shuō)得清項(xiàng)目?jī)?nèi)的細(xì)節(jié),但是公司業(yè)務(wù)涉及的策略又很多,需求做不過(guò)來(lái),所以瘋狂堆人,小組規(guī)模迅速膨脹到幾十個(gè)人。大家都很忙碌,充實(shí),每天都在加班,就是代碼稍微有點(diǎn)看不懂,但這不重要。重要的是大家都很充實(shí)且周報(bào)飽滿。小組 leader 也高升了,可謂皆大歡喜。

另一個(gè)小組做項(xiàng)目,老是喜歡做一些設(shè)計(jì),接需求的時(shí)候總是邊做邊停,但是發(fā)展了一段時(shí)間以后,似乎剩下的工作就非常地簡(jiǎn)單而單薄,組員們寫(xiě)寫(xiě)配置,寫(xiě)寫(xiě)工作流。這都嫌麻煩又做了個(gè)前端,所以每天的工作變成了點(diǎn)點(diǎn)鼠標(biāo),再后來(lái)他們又覺(jué)得太麻煩。點(diǎn)鼠標(biāo)的工作扔給業(yè)務(wù)去做。這些程序員就顯得每天特別閑。很快變成老板的眼中釘,隨便找個(gè)理由就把這個(gè)組拆掉去做更“核心”的業(yè)務(wù)了。

如果你在推崇田園敏捷的互聯(lián)網(wǎng)公司工作(也許已經(jīng)沒(méi)有不是這樣的公司了),可能每天都在經(jīng)歷著類似的故事。所謂太陽(yáng)底下沒(méi)有新鮮事,不幸的人都有著相同的不幸。

問(wèn)題到底出在哪里呢?

互聯(lián)網(wǎng)行業(yè)向國(guó)外學(xué)習(xí),推崇敏捷開(kāi)發(fā),但實(shí)際上學(xué)習(xí)到的只不過(guò)是表面敏捷,只考慮交付敏捷,很多時(shí)候不考慮開(kāi)發(fā)。所以他們看上去是敏捷開(kāi)發(fā),實(shí)際上可能連瀑布模型都不如。瀑布模型是什么樣的?

架構(gòu)的腐化是必然的

瀑布模型需要做詳細(xì)的需求調(diào)研,和長(zhǎng)時(shí)間的設(shè)計(jì)規(guī)劃,所以在互聯(lián)網(wǎng)公司一日十年的發(fā)展速度下被人詬病。而現(xiàn)代的互聯(lián)網(wǎng)公司又都是業(yè)務(wù)驅(qū)動(dòng),顯著的特點(diǎn)是不管你看上去多么簡(jiǎn)單的軟件,背后都有極其龐大而復(fù)雜的流程、策略系統(tǒng)。一個(gè)中型互聯(lián)網(wǎng)公司的業(yè)務(wù)代碼,單單流程可能就已經(jīng)有幾百萬(wàn)行。在持續(xù)演進(jìn)過(guò)程中,業(yè)務(wù)本身又會(huì)持續(xù)變化。可能是策略變化,可能是流程變化,可能是領(lǐng)域變化,也可能是因?yàn)楸桓?jìng)爭(zhēng)對(duì)手打得滿地找牙需要自己主動(dòng)做架構(gòu)變化。瀑布模型這種需要長(zhǎng)期做規(guī)劃,并且規(guī)劃以后沒(méi)法變的工作方式確實(shí)不適合互聯(lián)網(wǎng)公司。

悲劇的是,丟掉了瀑布模型,人們不只丟掉了流程,甚至把設(shè)計(jì)環(huán)節(jié)也完全丟掉了。大多數(shù)敏捷開(kāi)發(fā)的流程圖里也并沒(méi)有把設(shè)計(jì)當(dāng)回事,看看 Scrum 概念里,每個(gè)敏捷迭代周期的 planning 部分:

Scrum methodology advocates for a planning meeting at the start of the sprint, where team members figure out how many items they can commit to, and then create a sprint backlog – a list of the tasks to perform during the sprint.

為了體現(xiàn)出工作態(tài)度,工程師必然本能地避開(kāi)重構(gòu)工作,這些業(yè)務(wù) task 才是能讓我寫(xiě)周報(bào)加班晉升的好寶貝。多多益善,充分體現(xiàn)工作量。項(xiàng)目質(zhì)量什么的,跟我有啥關(guān)系。

有時(shí)系統(tǒng)確實(shí)太復(fù)雜了,普通工程師搞不定了,也會(huì)有個(gè)裝模作樣的設(shè)計(jì)階段,像瀑布模型那樣的,專門(mén)拿一兩個(gè)周來(lái)做。不過(guò)也只是架構(gòu)師們聚在一起,設(shè)計(jì)一個(gè)看起來(lái)能跑的最初的 POC 架構(gòu),一旦軟件進(jìn)入開(kāi)發(fā)階段,架構(gòu)師們可能就已經(jīng)逃之夭夭去參加下一個(gè)復(fù)雜的項(xiàng)目設(shè)計(jì)了。

軟件的后期迭代和進(jìn)化架構(gòu)師們往往是不參與的。業(yè)務(wù)的變化又不會(huì)少數(shù)人的意志為轉(zhuǎn)移,隨著變化,一定會(huì)有那些并不適合放進(jìn)最初設(shè)計(jì)中的需求出現(xiàn),這時(shí)候架構(gòu)師遠(yuǎn)在天邊。工程師們排期又緊,那就只能先臨時(shí)用丑陋的方案把需求實(shí)現(xiàn)。在系統(tǒng)里留下技術(shù)債。

這種“不適合融入既有架構(gòu)”的需求事件出現(xiàn)在什么時(shí)間點(diǎn),誰(shuí)也說(shuō)不清楚。給每個(gè)項(xiàng)目都安排長(zhǎng)期跟進(jìn)的架構(gòu)師,而項(xiàng)目又一直沒(méi)出現(xiàn)大的變化,又會(huì)變成資源浪費(fèi)。架構(gòu)師日常的工作如果不是跟進(jìn)某個(gè)項(xiàng)目,這個(gè)項(xiàng)目碰到問(wèn)題的時(shí)候,需要再做設(shè)計(jì)評(píng)審,臨時(shí)抱佛腳找架構(gòu)師來(lái) review,大多也是走馬觀花。

這還真是有點(diǎn)兩難。

這種情況下,最合適的還是在團(tuán)隊(duì)內(nèi)部培養(yǎng)合適的人選承擔(dān)組內(nèi)架構(gòu)師的職責(zé),負(fù)責(zé)一定的重構(gòu)、設(shè)計(jì)和架構(gòu)工作,但這個(gè)要求不見(jiàn)得總是可行。大家都是混口飯吃,不讀書(shū)不學(xué)習(xí)不求上進(jìn)的程序員何其多,一個(gè)幾百人業(yè)務(wù)技術(shù)部門(mén),可能真的遇到幾個(gè)組都沒(méi)有一個(gè)合格的架構(gòu)師的情況。即使有能力,也可能沒(méi)時(shí)間。一線工程師還是眼睜睜地看著系統(tǒng)一步步變成 shit。

回到開(kāi)頭的故事。以上帝視角來(lái)看,我們考慮的理想與非理想狀況對(duì)于在故事中的角色們來(lái)說(shuō)也并不公平。即使能有合理的流程,從外部招到公司的“架構(gòu)師”很多也只不過(guò)只是工齡長(zhǎng)罷了,言必談 DDD,中臺(tái),戰(zhàn)略,一到了落地環(huán)節(jié)提不出合理的見(jiàn)解和建議。也有掛著架構(gòu)師的頭銜,實(shí)際上卻是個(gè)“管理專家”,在催進(jìn)度上更在行。何況對(duì)于某些人來(lái)說(shuō),沒(méi)有合理的架構(gòu),從結(jié)果上來(lái)說(shuō)可能更好。這和互聯(lián)網(wǎng)行業(yè)扭曲的價(jià)值觀相匹配,大多數(shù)時(shí)候衡量身價(jià)是用一個(gè)人的 小弟數(shù)目*公司光環(huán)加成,用簡(jiǎn)單的算術(shù)就能算出來(lái),可喜可賀。這樣大家的奮斗目標(biāo)都是怎么樣招更多的小弟,系統(tǒng)做成什么樣根本無(wú)所謂啦。

能碰到一個(gè)靠譜的架構(gòu)師,對(duì)于一個(gè)一線工程師來(lái)說(shuō),很多時(shí)候也是奢望。對(duì)于那些中小公司的人來(lái)說(shuō),可能就是絕望。

怎么避開(kāi)這種絕望?只能憑運(yùn)氣,從客觀規(guī)律來(lái)講,大公司也是從小公司中公司發(fā)展而來(lái),在它發(fā)展的前期階段,靠譜的架構(gòu)師 90% 不會(huì)愿意加入,而公司真的做大了,可能你手邊系統(tǒng)的架構(gòu)問(wèn)題已經(jīng)被靠譜的架構(gòu)師解決完了,至少短時(shí)間內(nèi)不會(huì)遇到問(wèn)題。如果你不是陪著公司長(zhǎng)大,很難體驗(yàn)到優(yōu)秀的架構(gòu)能給自己的日常工作帶來(lái)多大的收益。

所以這是一個(gè)無(wú)解的問(wèn)題。對(duì)于一個(gè)工程師來(lái)說(shuō),平常還是要多多學(xué)習(xí),一方面提高個(gè)人實(shí)力,能夠承擔(dān)更高級(jí)的工作職責(zé),實(shí)力強(qiáng)大了也可以有更多選擇。至于那些外來(lái)的和尚,一般情況下都是指望不上的。

PS. 開(kāi)頭的故事是我編的。

分享到:
標(biāo)簽:架構(gòu)
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定