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

下載本文檔

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

文檔簡(jiǎn)介

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

2、都得到了加強(qiáng),此外在實(shí)現(xiàn)過程中對(duì)用到的冒泡排序和堆排序有了更深的理解,并能用C#熟練的實(shí)現(xiàn)。Daily work 2 今天對(duì)昨天的實(shí)例進(jìn)行了改進(jìn)和提高,將堆 排序和冒泡排序封裝在一個(gè)動(dòng)態(tài)鏈接庫中, 提供函數(shù)調(diào)用和事件委托。此外加入 XML 進(jìn)行配置,在 XML 中存入相關(guān)配置信息,提供一個(gè) 單獨(dú)的 XmlClass 對(duì)其進(jìn)行操作,加深了對(duì) xml 的理解。為增 加程序的性能,采用簡(jiǎn)單工廠 模式對(duì)其客戶端和算法操作進(jìn)行分離,有很好的可擴(kuò)展性,對(duì)于C#的動(dòng)態(tài)鏈接庫和 XML 配 置不怎么熟悉, 花了很長(zhǎng)一段時(shí)間看書和網(wǎng)上查資料, 才開始動(dòng)手寫代碼, 不過感覺還是很 快, 因?yàn)樽约河芯幊痰哪芰?,可?/p>

3、說掌握了一種快速編程的方法,所以就能駕輕就熟。Dailywork 3 今天采用抽象工廠模式對(duì)實(shí)例進(jìn)行改進(jìn), 以 達(dá)到動(dòng)態(tài)加載算法實(shí)例, 抽象工廠模式屬于 設(shè)計(jì)模式中的內(nèi)容, 自己在學(xué)習(xí)視頻的時(shí)候注意到了, 所以之前就買了本大話設(shè)計(jì)模式來學(xué) 習(xí),可以說了解了大部分設(shè)計(jì)模式。 今天遇到后自己心里也有 底, 溫故一下書就知道怎么做 了,可以說這是我學(xué)習(xí)的方法。針對(duì)以上, 在 dll 中提供一個(gè)接口, 兩個(gè)算法都繼承了該接口, 對(duì)于該 dll 的操作都通 過接 口 ISort 進(jìn)行,此外,修改工廠為抽象工廠,提供一個(gè)接口創(chuàng)建算法,在算法中返回ISort 實(shí)例,在主函數(shù)中使用該實(shí)例進(jìn)行對(duì)應(yīng)的排序算法操作

4、, 充分顯示了抽象工廠的作用, 本例子將反射和抽象工 廠模式結(jié)合,增加了程序的可擴(kuò)展性和可維護(hù)性。Dailywork4 由于自己編程能力還算可以吧,所以軟件組的老大就叫我加入開始做一些這次項(xiàng)目的東 西,說了一句“我可是沒把你當(dāng)實(shí)習(xí)生哦?!保@話一聽當(dāng)時(shí)感覺還好,不過后來一想,我卻 是吃虧了,他不把我當(dāng)實(shí)習(xí)生但給我的卻是實(shí)習(xí)生工資,這點(diǎn) 有點(diǎn)想不過去,不過沒關(guān)系, 實(shí)習(xí)嘛就是學(xué)習(xí),有基本工資也不錯(cuò)了,關(guān)鍵的公司提供的條件那是在 學(xué)校里所得不到的: 商業(yè)性的問題。今天將上述實(shí)例的方法用到本次項(xiàng)目中, 開始項(xiàng)目中的一些任務(wù)。 仍然使用抽象工廠模 式, 將自定義窗體封裝到類庫中,將窗體的控件預(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í)的理解, 可以說掌握得比較牢固 了,今天又有新的任務(wù),可以說每天都在進(jìn)步。按組長(zhǎng)要求編寫 RankStyle=Group 時(shí)的窗體排列方式,在 XML 中配置控件或窗體的參數(shù), 利用 XML 讀接口從 XML 中讀出參數(shù),為了使程序具有靈活性, 在組長(zhǎng)的提示下將窗體的配置 按照窗體 的 Name 屬性進(jìn)行配置 ,之前是利用字段的方式寫在 XML 中,但是組長(zhǎng)說這樣的話在 程序中查找不 方

6、便, 可我覺得沒什么啊, 當(dāng)然了, 對(duì)于我這個(gè)沒有工作經(jīng)驗(yàn)的人來說看什么 都是可以的,所以 要多學(xué)習(xí)學(xué)習(xí)。在 FormControl 中利用雙層循環(huán)將控件容器中的控件按Name 與讀出的配置進(jìn)行匹配,如果在 XML 中配置了該窗體,就設(shè)置該窗體的一些屬性。個(gè) 人感覺實(shí)現(xiàn)了該功能吧,最后經(jīng)過組長(zhǎng)看了一下審核基本通過。要求:根據(jù) Group ,從 XML 中讀取控件配置信息,動(dòng)態(tài)設(shè)置控件在主窗體中的顯示。Dailywork6 每天都有不同的要求,哎,果然和學(xué)校是不一樣啊,今天將 DLL 中的控件更換成窗體, 方法仍然采用反射 + 抽象工廠模式。雖然自己有一定編程經(jīng)驗(yàn), 但是遇到問題是不可避免的,

7、今天在編寫過程中遇到了一個(gè) 問 題,就是當(dāng)窗體接口和窗體類庫放在一起的時(shí)候, 在工廠中創(chuàng)建的實(shí)例無法裝換成接口類 型,經(jīng)過 多次測(cè)試和上網(wǎng)查閱相關(guān)資料, 發(fā)現(xiàn)控件類實(shí)現(xiàn)接口, 不能將接口放在同一個(gè)類庫 中,針對(duì)以上問 題在網(wǎng)上查閱相關(guān)資料, 結(jié)果還是沒有相同的主題,沒辦法,只有硬著頭皮 在網(wǎng)上找, 沒有主題就 找有沒有相關(guān)的例子, 結(jié)果還是沒有, 差點(diǎn)就無語了,突然看到有類 似方法的一個(gè)例子, 真是柳 暗花明又一村啊, 仔細(xì)看了看,發(fā)現(xiàn)他和我的結(jié)構(gòu)有些差異,所 以調(diào)了一下結(jié)構(gòu), 一編譯果然痛過 了, 就是將兩個(gè)類庫分離, 再在接口中加入工廠便可創(chuàng)建 實(shí)例并轉(zhuǎn)換成接口。 在主窗體中只需要 引用該

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

9、顧客的要求。 所有 上面說的這些都是自己要學(xué)習(xí)的地方,這樣在以后的商業(yè)開發(fā)中才能游刃有余,應(yīng)對(duì)自如。Dailywork8回顧前幾天所做的練習(xí), 對(duì)遇到的問題進(jìn)行解決, 在網(wǎng)上查閱相關(guān)資料獨(dú)立解決, 并對(duì) 之前 的一些項(xiàng)目練習(xí)做好備份。 將這幾天練習(xí)中所用的編程方法都串聯(lián)了一遍, 形成了固定 的模式,以 便在今后可以快速的使用。Dailywork9今天算是正式開始做公司的項(xiàng)目, 上午黎甫和秦陽在會(huì)議室給我講解了項(xiàng)目的一些功能 并進(jìn)行 討論, 大致理解了項(xiàng)目后, 分配了自己的一部分任務(wù), 整理過后在多次與秦陽的溝通 請(qǐng)教下明白 了自己的任務(wù),下午秦陽建好 VSS 我拷貝項(xiàng)目進(jìn)行框架整合和測(cè)試。在編

10、寫代碼的過程中也涉及了一些問題,通過看 MSDN 和上論壇,基本得到解決,同時(shí) 也了解了一些 C# 其它的相關(guān)知識(shí)。Dailywork10今天繼續(xù)昨天的任務(wù), 做一個(gè)小測(cè)試, 將現(xiàn)今做的項(xiàng)目所有代碼進(jìn)行整合測(cè)試, 測(cè)試要 求是 在數(shù)據(jù)庫中配置菜單項(xiàng), 動(dòng)態(tài)添加幾項(xiàng)菜單項(xiàng), 在不同點(diǎn)擊下動(dòng)態(tài)從 DLL 中加載窗體讀 取配置文 件進(jìn)行排列,順利完成。要求: 抽象接口,并繼承; XM L 中命名空間和類名不要設(shè)置成結(jié)點(diǎn),設(shè)置成屬性。封裝算法到 DLL ;在 FirstWork 中使用 XML 配置;建立一個(gè) XMLclass 進(jìn)行操作;建立 一個(gè)中 間工廠類用反射在類庫中查找響應(yīng)算法;事件和委托。接

11、口 .XML 中結(jié)點(diǎn):程序集名稱;命名空間 .類名;接口名稱;加載的時(shí)候轉(zhuǎn)化為接口;XML 中增加一個(gè)結(jié)點(diǎn)用來存儲(chǔ)客戶端關(guān)于算法的選擇,按選擇動(dòng)態(tài)改變其值,然后算法中讀取該值進(jìn)行排序選擇。為解決的問題:在一個(gè)工具條上配置多個(gè)工具,并添加事件,好像數(shù)據(jù)庫不能實(shí)現(xiàn)。0K 了 !Dailywork 11同步多線程方式實(shí)現(xiàn) Tcp/Ip 發(fā)送。Dailywork 12多線程要解除委托,避免出現(xiàn)異常;設(shè)置心跳包,檢查客戶端是否斷開連接;UDP 服務(wù)器與客戶端握手,以及連接,數(shù)據(jù)報(bào)Dailywork13Dailywork14Windows 服務(wù)項(xiàng)目了解Dailywork15解決 Udp 局域網(wǎng)內(nèi)廣播方式通信。Dailywork16數(shù)據(jù)庫導(dǎo)出到 XML 填充已設(shè)置菜單及工具欄結(jié)構(gòu), 返回上層,在工廠中添加 XML 配置文件, 選擇是從數(shù)據(jù)庫還是 XML 中讀取。1、 首先把數(shù)據(jù)庫轉(zhuǎn)化為 XML2、 研究如何和調(diào)用數(shù)據(jù)庫的接口結(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論