先說點(diǎn)閑事。今天下午面試了一位前輩,01年本科畢業(yè),一直在從事軟件開發(fā),做了兩年的外包項(xiàng)目PM。
整個(gè)面試過程表現(xiàn)非常不錯(cuò),所問的問題對(duì)答如流。回答不來的問題也坦然相告。
最后,流程式的問他:還有沒有什么疑問?
他在公司注冊(cè)簡(jiǎn)歷的學(xué)歷一欄寫的不實(shí),他本身是學(xué)化學(xué)的,填的是計(jì)算機(jī)科學(xué)與技術(shù),因?yàn)榕逻^不了HR的篩選關(guān)。
薪水要的也很符合公司的實(shí)際,我考慮的是,老大會(huì)怎么給他安排職位呢?
想想上午面的學(xué)計(jì)算機(jī)的小伙,03年畢業(yè),到現(xiàn)在也是做了四年,薪水要的胡高,問他多態(tài)、OO,基本是答的四分五裂,問問用的什么庫(kù),說來說去都是fopen, fclose,STL是什么都不知道。還說自己在公司是做軟件架構(gòu)師。草草面試完畢,幾個(gè)人一合計(jì),算了,評(píng)定表也別填了,直接咔嚓了。
-----------------------------------------------
遷移做了三天了,有兩天的時(shí)間簡(jiǎn)直就是在做思想斗爭(zhēng)。一翻開代碼,臭不可聞,捏著鼻子都干不下去。
終于,調(diào)整心態(tài),開始把,還有不到90天就DeadLine了。
先創(chuàng)建個(gè)空的exe工程,把前一段時(shí)間搞的Demo的一部分直接可以移植的搬過來。先搬了Dll Manager和Interface Manager,經(jīng)理太多讓人受不了,Dll 經(jīng)理降級(jí)成了DllLoader,兼有UnLoader的功能。
啟動(dòng)界面源碼復(fù)用,直接拿過來就好。提供了接口,在LoadDll的時(shí)候,把文件名字打到起到界面,有點(diǎn)像PhotoShop的啟動(dòng)效果。
Log模塊作為最基本的部分,必須先加載進(jìn)來。不然一系列以Log為依托的消息框、斷言框都無法使用了。還好,這模塊是我之前操刀封裝的,搬過來用也OK。插上去,日志就可以打出來了
還有一個(gè)UIConfig,放在哪里呢?原來的Demo中,和主界面做到了一起,因?yàn)樗旧順I(yè)務(wù)比較簡(jiǎn)單。這次看,如果做到一起存在兩個(gè)問題。1是主界面的Create時(shí)機(jī),太早的話,由于插件的不停注冊(cè),導(dǎo)致刷新,降低效率,做批刷新開關(guān)也行,感覺比較弱。2放在一起,由主界面將UIConfig注冊(cè)到InterfaceManager,主界面又和N個(gè)人剪不斷理還亂。干脆,UIConfig單獨(dú)創(chuàng)建,自己注冊(cè)到InterfaceManager里面去。主界面最后創(chuàng)建,連同Dock其中的頁面都作為觀察者。UIConfig每次更新后,通知一下各位。這樣把通知的權(quán)力限定在UIConfig之中,對(duì)于之前提到的TreeView刷新帶來的效率和用戶感受問題集中解決。
---------------------------------------------------
比較頭痛的是:原來在工程管理器中一系列的通知機(jī)制的修改,神秘的GIS模塊,還有混亂不堪的數(shù)據(jù)庫(kù)抽象層。按照Eclipse中對(duì)插件式的描述,這些插件不但作為插頭插在別的插口上,還對(duì)外提供插口。