用了新框架、新技術(shù)為什么項(xiàng)目還是混亂
技術(shù)選型,決定在開發(fā)遇到問題時,可選的解題路徑。相對成熟,用戶較多的同類技術(shù)之間,很少會出現(xiàn)一個有解,另一個無解的情況。能互為競品,就不會有太大的差距,否則就會有一方被淘汰掉。根據(jù)團(tuán)隊(duì)的觀念和歷史習(xí)慣,選擇適合的技術(shù),反而比糾結(jié)哪個技術(shù)更好,更為重要。
涉及到多人協(xié)作的大型軟件的開發(fā),是一個以編程為核心的工程問題。工程問題要想解決,就必須有規(guī)范和流程,要標(biāo)準(zhǔn)化,有職能劃分,有保障后勤的(基礎(chǔ)設(shè)施),有沖鋒陷陣的(業(yè)務(wù)邏輯)。如果沒有的話,軟件開發(fā)就會和其他類型的工程一樣,在不同階段陷入似曾相識的混亂。其中有的混亂,會讓工程失敗。一個新框架、新技術(shù)的應(yīng)用,如果只停留在形式上,那帶來的效果與它主頁宣傳的相比,就會大打折扣。團(tuán)隊(duì)以前遇到的問題,會換新的形式再出現(xiàn)。
「新」意味這,某些方面的進(jìn)步,但代價(jià)是什么呢?選擇時,只看到工具長處,只能說明對這個工具還不夠了解。沒有銀彈,期望使用一兩個新技術(shù)解決復(fù)雜的工程問題,是不切實(shí)際的。有時也會出現(xiàn),為了績效和利益,創(chuàng)造一些所謂的新“技術(shù)”,新“概念”??梢远覒?yīng)該以一個技術(shù)為核心,這樣才能生成配套的各種規(guī)范,利用各種措施,讓工程變的更加有序。一個有序的工程,才能減少個體不必要的差異對整體的影響。發(fā)揮個體的主觀能動性非常重要,有助于規(guī)范的改進(jìn),形成好的技術(shù)氛圍。但是,一個工程,完全靠個人主觀能動性,沒有任何規(guī)范,一定會在某個時間陷入胡亂,缺少關(guān)注的問題,可能會延遲爆發(fā),但不會自己解決。這就是為什么,團(tuán)隊(duì)換了新的開發(fā)框架,比如react、vue,或者未來會出現(xiàn)的新的框架和技術(shù),項(xiàng)目仍然還會混亂的原因:
把新框架和新技術(shù),當(dāng)成了一種語法上的翻譯,割裂使用,沒有將它們,作為工程的一個組成部分去思考,沒有形成一個有序運(yùn)行的系統(tǒng)。
