?????????到公司實(shí)習(xí)近五個(gè)月了,主要從事C++開發(fā),困擾于復(fù)雜的專家系統(tǒng)的陳舊代碼,不能說代碼寫的不好,肯定比我寫出來的C++代碼好,但是卻很難讓人讀懂,邏輯復(fù)雜,而且又缺乏Code的維護(hù),文檔也沒有,所有系統(tǒng)特性完全由前人口傳聲授,搞得很頭大。。。
?????????
?????????當(dāng)然也學(xué)習(xí)到不少東西,比如如何分析復(fù)雜的代碼,經(jīng)歷種種挫敗打擊之后,我總結(jié)出如下規(guī)律,面對一個(gè)復(fù)雜的系統(tǒng),你完全不知道它是干什么的,首先從大的角度把握系統(tǒng)的業(yè)務(wù)特性,主要完成后哪些操作,企業(yè)級別應(yīng)用不外乎數(shù)據(jù)庫的CRUD,非要區(qū)分出不同之處個(gè)人認(rèn)為就是各種應(yīng)用如何把著簡單的四種操作弄得更復(fù)雜啦!具體方法無非轉(zhuǎn)圈再轉(zhuǎn)圈!
?????????然后拆解出系統(tǒng)層次架構(gòu)的模型,在紙上畫出層次實(shí)現(xiàn)框圖有助于快速把握系統(tǒng)的層次模型。
?????????分解出層次模型之后的下一步就是關(guān)注BusinessLogic層?xùn)|西,如何系統(tǒng)層析模型不好,例如BL和DAO混雜,首先要做的是想辦法如何重構(gòu)這樣的模型,因?yàn)椴恢貥?gòu)這樣的系統(tǒng)很快你就會(huì)感覺這個(gè)項(xiàng)目沒有盡頭了,在痛苦中煎熬啊。在寫Code之前,一定要理解BL的東西,Code誰都會(huì)寫,但是要高效完成Coding工作,理解你要寫什么是前提,我自己在這個(gè)方面吃虧不少,寫出來Code,自己也不知道是干什么的,項(xiàng)目結(jié)束了,現(xiàn)在強(qiáng)烈鄙視自己了
?????????
?????????重新開始BLOG生涯了,原因:鞏固自己學(xué)習(xí)到的知識,并且將自己學(xué)習(xí)的體會(huì)于大家分享,也許我的些許經(jīng)驗(yàn)?zāi)芙o迷茫當(dāng)中的人帶來幫助,不吝嗇自己的只言片語,哪怕是不夠成熟的。另一方面,表達(dá)出自己的理解和思想,或許會(huì)獲得大家不同的評價(jià),你有一個(gè)思想我有一個(gè)思想,交換,我們就有兩個(gè)思想了!當(dāng)然,自己錯(cuò)誤的理解馬上能得到大家的糾正,這對自己知識的構(gòu)建是非常好有幫助的!
?????????下一階段學(xué)習(xí)計(jì)劃 Spring,Hibernate,有空也玩玩AJAX
?????????