軟件開(kāi)發(fā)實(shí)習(xí)日志日記_第1頁(yè)
軟件開(kāi)發(fā)實(shí)習(xí)日志日記_第2頁(yè)
軟件開(kāi)發(fā)實(shí)習(xí)日志日記_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Daily work 1第一次是來(lái)面試, 當(dāng)時(shí)感覺(jué)不怎么好, 面試的人問(wèn)了一些問(wèn)題有些沒(méi)回答上來(lái), 這并不 奇 怪,C#自己學(xué)習(xí)了 2個(gè)月,然后就沒(méi)怎么用,回答不上我覺(jué)得可以理解。沒(méi)想到還能第二次來(lái)到公司, 由于對(duì)環(huán)境還比較陌生, 所以今天大概熟悉了一點(diǎn), 成都這邊有 50 多個(gè)員工, 屬 于研發(fā)中心, 主要從事無(wú)線微波得較大型的設(shè)備的再加工, 聽(tīng)同事說(shuō)以前在北京, 但由于 北京人 力資源太貴所以來(lái)到成都, 這聽(tīng)起來(lái)怎么像是在壓榨的感覺(jué)啊, 沒(méi)關(guān)系, 只是來(lái)實(shí)習(xí) 而已。對(duì)于今天的第一個(gè)小任務(wù),要求:界面、數(shù)據(jù)壓入堆棧、簡(jiǎn)單冒泡排序?qū)崿F(xiàn)數(shù)據(jù)有序輸出、堆排序輸出。讓我快速地熟悉了C#,從界面到后臺(tái)

2、都得到了加強(qiáng),此外在實(shí)現(xiàn)過(guò)程中對(duì)用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實(shí)現(xiàn)。Daily work 2 今天對(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)樽约河芯幊痰哪芰?,可?/p>

3、說(shuō)掌握了一種快速編程的方法,所以就能駕輕就熟。Dailywork 3 今天采用抽象工廠模式對(duì)實(shí)例進(jìn)行改進(jìn), 以 達(dá)到動(dòng)態(tài)加載算法實(shí)例, 抽象工廠模式屬于 設(shè)計(jì)模式中的內(nèi)容, 自己在學(xué)習(xí)視頻的時(shí)候注意到了, 所以之前就買(mǎi)了本大話設(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)的排序算法操作

4、, 充分顯示了抽象工廠的作用, 本例子將反射和抽象工 廠模式結(jié)合,增加了程序的可擴(kuò)展性和可維護(hù)性。Dailywork4 由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開(kāi)始做一些這次項(xiàng)目的東 西,說(shuō)了一句“我可是沒(méi)把你當(dāng)實(shí)習(xí)生哦?!?,這話一聽(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ù)留到外部

5、進(jìn)行實(shí)施定義;在 XML 文件中配置窗體的實(shí)際參數(shù),利用反射按從 XML 中讀出的參數(shù)動(dòng)態(tài)加載窗體。將上述的實(shí)例方法運(yùn)用到了實(shí)際項(xiàng)目中。Dailywork5 昨天的任務(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ō)這樣的話在 程序中查找不 方

6、便, 可我覺(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è)置控件在主窗體中的顯示。Dailywork6 每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將 DLL 中的控件更換成窗體, 方法仍然采用反射 + 抽象工廠模式。雖然自己有一定編程經(jīng)驗(yàn), 但是遇到問(wèn)題是不可避免的,

7、今天在編寫(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)換成接口。 在主窗體中只需要 引用該

8、接口類(lèi)庫(kù)便可達(dá)到要求, 使程序耦合性降低了。Dailywork7由于黎甫對(duì) DLL 的要求發(fā)生變化,今天就不斷修正 DLL 程序,并驗(yàn)收,再結(jié)合 Group 的窗口排列方式對(duì) DLL 中的窗體進(jìn)行測(cè)試。 我現(xiàn)在才明白,編寫(xiě)代碼是一件很容易的事, 但 是編寫(xiě)好的代碼卻是很難的事情, 好的代碼要有可維護(hù)性、 可擴(kuò)展性, 這樣在修改的話就很 簡(jiǎn) 單, 可不能像我昨天寫(xiě)得代碼,根本談不上藝術(shù),所以一旦面對(duì)客戶(hù)的要求,改動(dòng)就很困 難,這一 點(diǎn)值得我繼續(xù)學(xué)習(xí)。至于可擴(kuò)展性也是對(duì)維護(hù)的擴(kuò)充, 因?yàn)轭櫩偷囊笥锌赡茈S時(shí)都在改變, 我們也得適應(yīng) 客戶(hù) 的要求,如果軟件有了可擴(kuò)展性,那么它的改動(dòng)就比較小,就能適應(yīng)

9、顧客的要求。 所有 上面說(shuō)的這些都是自己要學(xué)習(xí)的地方,這樣在以后的商業(yè)開(kāi)發(fā)中才能游刃有余,應(yīng)對(duì)自如。Dailywork8回顧前幾天所做的練習(xí), 對(duì)遇到的問(wèn)題進(jìn)行解決, 在網(wǎng)上查閱相關(guān)資料獨(dú)立解決, 并對(duì) 之前 的一些項(xiàng)目練習(xí)做好備份。 將這幾天練習(xí)中所用的編程方法都串聯(lián)了一遍, 形成了固定 的模式,以 便在今后可以快速的使用。Dailywork9今天算是正式開(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è)試。在編

10、寫(xiě)代碼的過(guò)程中也涉及了一些問(wèn)題,通過(guò)看 MSDN 和上論壇,基本得到解決,同時(shí) 也了解了一些 C# 其它的相關(guān)知識(shí)。Dailywork10今天繼續(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)行排列,順利完成。要求: 抽象接口,并繼承; XM L 中命名空間和類(lèi)名不要設(shè)置成結(jié)點(diǎn),設(shè)置成屬性。封裝算法到 DLL ;在 FirstWork 中使用 XML 配置;建立一個(gè) XMLclass 進(jìn)行操作;建立 一個(gè)中 間工廠類(lèi)用反射在類(lèi)庫(kù)中查找響應(yīng)算法;事件和委托。接

11、口 .XML 中結(jié)點(diǎn):程序集名稱(chēng);命名空間 .類(lèi)名;接口名稱(chēng);加載的時(shí)候轉(zhuǎn)化為接口;XML 中增加一個(gè)結(jié)點(diǎn)用來(lái)存儲(chǔ)客戶(hù)端關(guān)于算法的選擇,按選擇動(dòng)態(tài)改變其值,然后算法中讀取該值進(jìn)行排序選擇。為解決的問(wèn)題:在一個(gè)工具條上配置多個(gè)工具,并添加事件,好像數(shù)據(jù)庫(kù)不能實(shí)現(xiàn)。0K 了 !Dailywork 11同步多線程方式實(shí)現(xiàn) Tcp/Ip 發(fā)送。Dailywork 12多線程要解除委托,避免出現(xiàn)異常;設(shè)置心跳包,檢查客戶(hù)端是否斷開(kāi)連接;UDP 服務(wù)器與客戶(hù)端握手,以及連接,數(shù)據(jù)報(bào)Dailywork13Dailywork14Windows 服務(wù)項(xiàng)目了解Dailywork15解決 Udp 局域網(wǎng)內(nèi)廣播方式通信。Dailywork16數(shù)據(jù)庫(kù)導(dǎo)出到 XML 填充已設(shè)置菜單及工具欄結(jié)構(gòu), 返回上層,在工廠中添加 XML 配置文件, 選擇是從數(shù)據(jù)庫(kù)還是 XML 中讀取。1、 首先把數(shù)據(jù)庫(kù)轉(zhuǎn)化為 XML2、 研究如何和調(diào)用數(shù)據(jù)庫(kù)的接口結(jié)合3 、 設(shè)計(jì) XML 操作工程4 、 工廠更改與設(shè)計(jì)Site) 定義為接口中的ReadMenuInfo.cs 中 public MenuItemInfoNode ReadInfo( string 函數(shù)or tb_MenuID= ' 可能的 Xpath: /Root/ItemWndId=選取所有 bookstore 元素中 price 元素的值小

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論