當(dāng)我們進(jìn)入一個新的公司,很有可能接觸到的是公司已經(jīng)做了很久的項(xiàng)目晾剖。而之前的負(fù)責(zé)人有可能水平參差不齊锉矢,給你留下了太多的坑。也許在項(xiàng)目設(shè)立之初齿尽,由于功能簡單結(jié)構(gòu)也會相應(yīng)的簡單許多沽损。而隨著公司業(yè)務(wù)的復(fù)雜變化,產(chǎn)品經(jīng)理也許會經(jīng)常跟你溝通新功能循头,或者調(diào)整現(xiàn)有的功能绵估,這時候可能以前的項(xiàng)目結(jié)構(gòu)很難滿足我們這復(fù)雜多變的需求炎疆。
我們總說程序猿就是一個不斷復(fù)制舊代碼,偶爾寫寫新代碼的工作国裳,有的公司平常不忙的時候形入,也許一天也寫不了多少行代碼。但是缝左,是工作就能分出個三六九等亿遂,一個優(yōu)秀的程序猿,除了具備良好的邏輯思維能力(主要體現(xiàn)在別人也許半天能寫完的東西渺杉,你用了3天蛇数,而且測試起來還各種bug)
最重要的一點(diǎn),優(yōu)秀的程序猿每在寫一個項(xiàng)目之前是越,他總會思考我這樣寫會對以后產(chǎn)生什么樣的影響耳舅。最直接的體現(xiàn)就是,如果你只是為了實(shí)現(xiàn)需要的功能倚评,而亂用代理浦徊、block,控制器里經(jīng)常寫上千行的代碼蔓纠,那么在后期的項(xiàng)目維護(hù)上面辑畦,你會花費(fèi)很大的精力吗蚌,可能在幾個月以后腿倚,你自己寫的代碼都不知道是什么意思。這時候蚯妇,就需要你在開始動手之前就深入的思考敷燎,我要不要提供幾個接口,這幾個接口分別能實(shí)現(xiàn)什么樣的功能箩言,每個類管理自己的事情硬贯,不要越級去管理。是不是菜鳥陨收,你去看一下他寫的代碼饭豹,一目了然。
當(dāng)然务漩,這就能成為高手了嗎拄衰,遠(yuǎn)遠(yuǎn)不夠。一個大的項(xiàng)目饵骨,也許戰(zhàn)線能拉長到兩年甚至更長的時間翘悉。比如說我。公司在國內(nèi)相關(guān)行業(yè)處于第一集團(tuán)軍居触,現(xiàn)在在做的項(xiàng)目已經(jīng)有一年半之久妖混,而結(jié)束的時間要到明年的年中后了老赤。這樣大的一個項(xiàng)目,如果在創(chuàng)建之初制市,沒有經(jīng)過特別深思熟慮的推敲抬旺,是不敢輕易下手的。最近因?yàn)闃I(yè)務(wù)調(diào)整息堂,需求要求添加更多的功能嚷狞,在之前的項(xiàng)目架構(gòu)下繼續(xù),各種界面的跳轉(zhuǎn)會變的非常的混亂荣堰。不得已床未,在和組長不斷的溝通下,我們覺定適當(dāng)修改項(xiàng)目結(jié)構(gòu)振坚,這確實(shí)是一項(xiàng)比較耗時薇搁,而且費(fèi)力的工作,但是如果不這樣做渡八,我們的后續(xù)工作會變得非常艱難啃洋。