程序員實(shí)習(xí)日記十篇
程序員實(shí)習(xí)日記 篇1
今天算是正式開(kāi)始做公司的項(xiàng)目,上午黎甫和秦陽(yáng)在會(huì)議室給我講解了項(xiàng)目的一些功能并進(jìn)行討論,大致理解了項(xiàng)目后,分配了自己的一部分任務(wù),整理過(guò)后在多次與秦陽(yáng)的溝通請(qǐng)教下明白了自己的任務(wù),下午秦陽(yáng)建好vss,我拷貝項(xiàng)目進(jìn)行框架整合和測(cè)試。 在編寫(xiě)代碼的過(guò)程中也涉及了一些問(wèn)題,通過(guò)看msdn和上論壇,基本得到解決,同時(shí)也了解了一些c#其它的相關(guān)知識(shí)。
程序員實(shí)習(xí)日記 篇2
由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開(kāi)始做一些這次項(xiàng)目的東西,說(shuō)了一句“我可是沒(méi)把你當(dāng)實(shí)習(xí)生哦。”,這話(huà)一聽(tīng)當(dāng)時(shí)感覺(jué)還好,不過(guò)后來(lái)一想,我卻是吃虧了,他不把我當(dāng)實(shí)習(xí)生但給我的卻是實(shí)習(xí)生工資,這點(diǎn)有點(diǎn)想不過(guò)去,不過(guò)沒(méi)關(guān)系,實(shí)習(xí)嘛就是學(xué)習(xí),有基本工資也不錯(cuò)了,關(guān)鍵的公司提供的條件那是在學(xué)校里所得不到的:商業(yè)性的問(wèn)題。
今天將上述實(shí)例的方法用到本次項(xiàng)目中,開(kāi)始項(xiàng)目中的一些任務(wù)。仍然使用抽象工廠模式,將自定義窗體封裝到類(lèi)庫(kù)中,將窗體的控件預(yù)留到外部進(jìn)行實(shí)施定義;在xml文件中配置窗體的實(shí)際參數(shù),利用反射按從xml中讀出的參數(shù)動(dòng)態(tài)加載窗體。將上述的實(shí)例方法運(yùn)用到了實(shí)際項(xiàng)目中。
程序員實(shí)習(xí)日記 篇3
今天采用抽象工廠模式對(duì)實(shí)例進(jìn)行改進(jìn),以達(dá)到動(dòng)態(tài)加載算法實(shí)例,抽象工廠模式屬于設(shè)計(jì)模式中的內(nèi)容,自己在學(xué)習(xí)視頻的時(shí)候注意到了,所以之前就買(mǎi)了本大話(huà)設(shè)計(jì)模式來(lái)學(xué)習(xí),可以說(shuō)了解了大部分設(shè)計(jì)模式。今天遇到后自己心里也有底,溫故一下書(shū)就知道怎么做 了,可以說(shuō)這是我學(xué)習(xí)的方法。
針對(duì)以上,在dll中提供一個(gè)接口,兩個(gè)算法都繼承了該接口,對(duì)于該dll的操作都通過(guò)接口isort進(jìn)行,此外,修改工廠為抽象工廠,提供一個(gè)接口創(chuàng)建算法,在算法中返回isort實(shí)例,在主函數(shù)中使用該實(shí)例進(jìn)行對(duì)應(yīng)的排序算法操作,充分顯示了抽象工廠的作用,本例子將反射和抽象工廠模式結(jié)合,增加了程序的可擴(kuò)展性和可維護(hù)性。
程序員實(shí)習(xí)日記 篇4
今天對(duì)昨天的實(shí)例進(jìn)行了改進(jìn)和提高,將堆排序和冒泡排序封裝在一個(gè)動(dòng)態(tài)鏈接庫(kù)中,提供函數(shù)調(diào)用和事件委托。此外加入xml進(jìn)行配置,在xml中存入相關(guān)配置信息,提供一個(gè)單獨(dú)的xmlclass對(duì)其進(jìn)行操作,加深了對(duì)xml的理解。為增加程序的性能,采用簡(jiǎn)單工廠模式對(duì)其客戶(hù)端和算法操作進(jìn)行分離,有很好的可擴(kuò)展性,對(duì)于c#的動(dòng)態(tài)鏈接庫(kù)和xml配置不怎么熟悉,花了很長(zhǎng)一段時(shí)間看書(shū)和網(wǎng)上查資料,才開(kāi)始動(dòng)手寫(xiě)代碼,不過(guò)感覺(jué)還是很快,因?yàn)樽约河芯幊痰哪芰Γ梢哉f(shuō)掌握了一種快速編程的方法,所以就能駕輕就熟。
程序員實(shí)習(xí)日記 篇5
今天繼續(xù)昨天的任務(wù),做一個(gè)小測(cè)試,將現(xiàn)今做的項(xiàng)目所有代碼進(jìn)行整合測(cè)試,測(cè)試要求是在數(shù)據(jù)庫(kù)中配置菜單項(xiàng),動(dòng)態(tài)添加幾項(xiàng)菜單項(xiàng),在不同點(diǎn)擊下動(dòng)態(tài)從dll中加載窗體讀取配置文件進(jìn)行排列,順利完成。
程序員實(shí)習(xí)日記 篇6
CToolTipCtrl 函類(lèi)中的RelayEvent函數(shù)的存在理由,試想當(dāng)我們的鼠標(biāo)在一個(gè)窗體上滑動(dòng)的時(shí)候,會(huì)發(fā)生什么情況,如果鼠標(biāo)下方的窗體是一個(gè)子窗體,那么這個(gè)子窗體將會(huì)收到鼠標(biāo)的消息,而主窗體的鼠標(biāo)消息因此被屏蔽,windows是通過(guò)這種方式來(lái)處理消息的,這里CToolTipCtrl對(duì)象也需要受到消息來(lái)進(jìn)行處理,但是這些鼠標(biāo)消息卻不能流向CToolTipCtr對(duì)象,這就是問(wèn)題的關(guān)鍵之所在,如何將消息導(dǎo)向CtoolTipCtrl就成了關(guān)鍵,一般我們會(huì)在PretranslateMessage函數(shù)中攔截消息之后使之導(dǎo)向CTOOLTipCtrl,這個(gè)導(dǎo)向所用的函數(shù)就是RelayEvent函數(shù)。
有關(guān)ToolTip控件的討論目前還存在疑惑,1當(dāng)我們使用LPSTR_TEXTCALLBACK的時(shí)候,為什么ON_NOTIFY可以得倒響應(yīng)消息,卻會(huì)在某個(gè)時(shí)間點(diǎn)出現(xiàn)Stack run over的錯(cuò)誤。
程序員實(shí)習(xí)日記 篇7
昨天的任務(wù)基本已完成,今天溫習(xí)了一下加深了對(duì)知識(shí)的理解,可以說(shuō)掌握得比較牢固了,今天又有新的任務(wù),可以說(shuō)每天都在進(jìn)步。
按組長(zhǎng)要求編寫(xiě)rankstyle=group時(shí)的窗體排列方式,在xml中配置控件或窗體的參數(shù),利用xml讀接口從xml中讀出參數(shù),為了使程序具有靈活性,在組長(zhǎng)的提示下將窗體的配置按照窗體的name屬性進(jìn)行配置,之前是利用字段的方式寫(xiě)在xml中,但是組長(zhǎng)說(shuō)這樣的話(huà)在程序中查找不方便,可我覺(jué)得沒(méi)什么啊,當(dāng)然了,對(duì)于我這個(gè)沒(méi)有工作經(jīng)驗(yàn)的人來(lái)說(shuō)看什么都是可以的,所以要多學(xué)習(xí)學(xué)習(xí)。在formcontrol中利用雙層循環(huán)將控件容器中的控件按name與讀出的配置進(jìn)行匹配,如果在xml中配置了該窗體,就設(shè)置該窗體的一些屬性。個(gè)人感覺(jué)實(shí)現(xiàn)了該功能吧,最后經(jīng)過(guò)組長(zhǎng)看了一下審核基本通過(guò)。 要求:
根據(jù)group,從xml中讀取控件配置信息,動(dòng)態(tài)設(shè)置控件在主窗體中的顯示。
程序員實(shí)習(xí)日記 篇8
每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將dll中的控件更換成窗體,方法仍然采用反射+抽象工廠模式。
雖然自己有一定編程經(jīng)驗(yàn),但是遇到問(wèn)題是不可避免的,今天在編寫(xiě)過(guò)程中遇到了一個(gè)問(wèn)題,就是當(dāng)窗體接口和窗體類(lèi)庫(kù)放在一起的時(shí)候,在工廠中創(chuàng)建的實(shí)例無(wú)法裝換成接口類(lèi)型,經(jīng)過(guò)多次測(cè)試和上網(wǎng)查閱相關(guān)資料,發(fā)現(xiàn)控件類(lèi)實(shí)現(xiàn)接口,不能將接口放在同一個(gè)類(lèi)庫(kù)中,針對(duì)以上問(wèn)題在網(wǎng)上查閱相關(guān)資料,結(jié)果還是沒(méi)有相同的主題,沒(méi)辦法,只有硬著頭皮在網(wǎng)上找,沒(méi)有主題就找有沒(méi)有相關(guān)的例子,結(jié)果還是沒(méi)有,差點(diǎn)就無(wú)語(yǔ)了,突然看到有類(lèi)似方法的一個(gè)例子,真是柳暗花明又一村啊,仔細(xì)看了看,發(fā)現(xiàn)他和我的結(jié)構(gòu)有些差異,所以調(diào)了一下結(jié)構(gòu),一編譯果然痛過(guò)了,就是將兩個(gè)類(lèi)庫(kù)分離,再在接口中加入工廠便可創(chuàng)建實(shí)例并轉(zhuǎn)換成接口。在主窗體中只需要引用該接口類(lèi)庫(kù)便可達(dá)到要求,使程序耦合性降低了。
程序員實(shí)習(xí)日記 篇9
回顧前幾天所做的練習(xí),對(duì)遇到的問(wèn)題進(jìn)行解決,在網(wǎng)上查閱相關(guān)資料獨(dú)立解決,并對(duì)之前的一些項(xiàng)目練習(xí)做好備份。將這幾天練習(xí)中所用的編程方法都串聯(lián)了一遍,形成了固定的模式,以便在今后可以快速的使用。
程序員實(shí)習(xí)日記 篇10
我們?cè)谑褂胻ooltip的時(shí)候,有以下幾個(gè)關(guān)鍵點(diǎn):
1,創(chuàng)建CToolTipCtrl對(duì)象,Create函數(shù)實(shí)現(xiàn)。
2,使用AddTool函數(shù)向這個(gè)tooltip中加入tools,這也是綁定tool到某個(gè)控件的過(guò)程,從中我們可以知道在這個(gè)CToolTipCtrl對(duì)象中應(yīng)該存在著不止一個(gè)tool,而是一系列的tool,通過(guò)函數(shù)DelTool實(shí)現(xiàn)刪除,AddTool實(shí)現(xiàn)添加,UpdateTipText實(shí)現(xiàn)更新tool的文本。
3,最關(guān)鍵的是我們需要一個(gè)觸發(fā)tooltip的關(guān)鍵點(diǎn),這個(gè)關(guān)鍵點(diǎn)控制著何時(shí)顯示這個(gè)tooltip,一般情況下我們?cè)赑reTranslateMessage函數(shù)中進(jìn)行處理,這也是我們攔截WM_MOUSEMOVE的地方,攔截之后,我們調(diào)用tooltip的RelayEvent向toolTip對(duì)象傳遞這個(gè)消息用以表示tooltip可以被顯示或者更新。
靜態(tài)鏈接MFC DLL模塊的時(shí)候,由于MFC總是使用它所練級(jí)額的DLL模塊狀態(tài),所以不存在模塊管理的問(wèn)題。
調(diào)試DLL的時(shí)候,我們需要exe文件的配合,所以先要生成exe測(cè)試文件,然后將DLL工程設(shè)置成active ,這時(shí)候會(huì)出現(xiàn)exe路徑提示對(duì)話(huà)框,我們將測(cè)試用的exe路徑填入就可以了。