老板(或者客戶(hù),或者其他人)有一攬子的想法要在股票大盤(pán)分析軟件開(kāi)發(fā)團(tuán)隊(duì)實(shí)現(xiàn)。工作有條不紊地展開(kāi),更多的功能加入進(jìn)來(lái),更多的團(tuán)隊(duì)成員也加入了進(jìn)來(lái)。新加入的功能也按照之前的架構(gòu)方式開(kāi)發(fā)著;新加入的團(tuán)隊(duì)成員也對(duì)清晰的架構(gòu)表示欣喜,也一絲不茍地遵循著。用不了多久——也許是三個(gè)月,或者更短,我們會(huì)發(fā)現(xiàn)代碼庫(kù)變成下面的樣子。
我們也許很快會(huì)意識(shí)到這其中有什么問(wèn)題,但很難意識(shí)到這到底意味著什么。常見(jiàn)的動(dòng)作往往圍繞著重構(gòu)——將縱向相關(guān)的抽取出來(lái),形成一個(gè)新的項(xiàng)目;橫向相關(guān)的抽取出來(lái),形成一個(gè)名叫common或者base的項(xiàng)目。
致遠(yuǎn)服軟認(rèn)為:http://www.soft8.com.cn/無(wú)論我們做什么類(lèi)型的重構(gòu),一些變化都在悄悄產(chǎn)生(也許只是快慢的不同)。構(gòu)建過(guò)程不可避免地變長(zhǎng)。從剛開(kāi)始的一兩分鐘變成好幾分鐘,到十幾分鐘。通過(guò)重構(gòu)構(gòu)建腳本,去掉那些不需要的部分,構(gòu)建時(shí)間會(huì)降到幾分鐘,我們滿(mǎn)意了,于是繼續(xù)。
更多的功能、更多的成員加入了。人力資源全模塊成熟產(chǎn)品支持二次開(kāi)發(fā)構(gòu)建時(shí)間又變長(zhǎng)了。隨著加載代碼的增多,IDE也慢了下來(lái),交流也多了起來(lái)——不是所有人能夠了解所有代碼了。某些時(shí)候,一個(gè)很有道德的程序員嘗試重構(gòu)一部分重復(fù)邏輯,發(fā)現(xiàn)牽涉的股票大盤(pán)分析軟件開(kāi)發(fā)代碼太多了,好多都是他看不懂的業(yè)務(wù),于是他放棄了。更多的人這么做了,代碼庫(kù)越來(lái)越臃腫,最終沒(méi)有一個(gè)人能夠搞清楚系統(tǒng)具體是怎么工作的了。
系統(tǒng)在混亂的狀態(tài)下繼續(xù)緩慢地混亂——這個(gè)過(guò)程遠(yuǎn)比本文寫(xiě)作的時(shí)間要長(zhǎng)很多,之間會(huì)有反復(fù)。但據(jù)我觀察,在不超過(guò)一年的時(shí)間內(nèi),無(wú)論采用何種股票大盤(pán)分析軟件開(kāi)發(fā)技術(shù)框架,應(yīng)用何種架構(gòu),這個(gè)過(guò)程似乎是不可抗拒的宿命。
常見(jiàn)的解決方案
我們并非只能坐以待斃。身邊優(yōu)秀的同事們?cè)趩?wèn)題發(fā)現(xiàn)之前采取了各種解決方案。常見(jiàn)的解決方案如下。
升級(jí)工作環(huán)境
沒(méi)有什么比一臺(tái)與時(shí)俱進(jìn)的電腦更能激勵(lì)開(kāi)發(fā)人員了。最多每隔三年,升級(jí)一次開(kāi)發(fā)人員的電腦——升級(jí)到當(dāng)時(shí)最好的配置能夠大幅度提升生產(chǎn)效率,激勵(lì)開(kāi)發(fā)人員。反過(guò)來(lái),利用過(guò)時(shí)的電腦,在慢速的機(jī)器上進(jìn)行開(kāi)發(fā),帶來(lái)的不僅僅是客觀上的開(kāi)發(fā)效率降低,更大程度上帶來(lái)的是開(kāi)發(fā)人員心理上的懈怠。
升級(jí)的工作環(huán)境不僅僅是電腦,還包括工作的空間。良好的、促進(jìn)溝通的空間(以及工作方式)能夠促進(jìn)問(wèn)題的發(fā)現(xiàn)從而減少問(wèn)題的產(chǎn)生。隔斷不適合開(kāi)發(fā)。
掃一掃,微信免費(fèi)咨詢(xún)