一隻菜鳥從C#轉向Cpp的Mobile開發之兩周經曆 續 三四周情況

來源:互聯網
上載者:User

人倒黴沒辦法 剛剛寫完後 不小心按了下f5 又白寫 --#   我的情況有些夥計知道了咯 現在我來通報一下三四周的情況 合起來就是我工作的第一個月的情況 希望能和大家交流共勉 繼續努力 希望對有相似經曆的童鞋能有一些協助

第三周小結
周一  上周終於完成了第一個項目,經過兩天的消化,明顯比剛開始接觸MFC編程時要好很多,今天開始第二個項目—在一個原有項目的基礎上進行擴充,增加配置功能。雖然目前做項目比之前熟悉多了,但是技術不全面基礎薄弱的弊病立刻曝露出來,首先為了項目能夠運行知道了部署設定的附加檔案方法,但是在為新項目添加新的視窗的時候卻遇到資源配置出錯的問題,之前從沒遇到過這種問題,折騰了一天未果,於是開始深入研究 。

周二 資源檔出錯的問題仍未解決,但是對於資源檔的結構,vs平台下的資源管理方式有了一定理解,並且可以手工寫資源檔了。臨時建立了一個新的項目,開始做配置視窗,之前是把配置視窗作為重點,但是開始實施的時候卻發現工具列的實現要比之前複雜,然後學習工具欄設定的函數體,建立方法,並且結合之前學習的資源檔相關知識,終於可以建立好工具列,並且再次理解了事件處理的實現方式和系統的訊息機制,對於程式的理解掌握比之前更加靈活。

周三 今天發現我的配置視窗控制項使用錯誤,跟我原來想的完全不同,差別比較大,項目又一次陷入困境,網上有人說用ListBox,有人說自繪,但是我在嘗試控制項的時候竟然發現ListControl完全符合我的需要,只要使用report模式即可,而且控制項自動採用類似於KEY-VALUE的形式,通過對於msdn的查詢,很容易掌握了其使用方法,並且通過網路資料得知,ListControl的功能遠超乎想象,使用起來極為靈活,這倒是完全沒想到的。然後很快做了增加項視窗。另外資源檔的問題解決了,是VS的bug,通過手工修改rc檔案解決。

周四 今天開始完善增加項視窗,但是在對於不同視窗操作時的邏輯方面除了很多問題,走了彎路,但是通過今天的教訓,對於控制代碼,系統底層的運行原理的認識有了很大提高,對於mobile中的toolbar,以及VC++的一些特性有了全新的認識,感覺是很有突破的一天。

周五 今天開始進行程式的最後一部分,對於設定檔的儲存問題。設定檔儲存通常有三種方式,一是註冊表,二是文字檔,三是xml,對於註冊表方面考慮到容易對系統造成垃圾而暫時不考慮,首先考慮文字檔。在網上得知MFC中有專門操作ini檔案的函數,但是後來證實Mobile中並不支援。於是手工寫文本,但是在讀寫文本的時候遇到了很麻煩的問題,估計是因為Unicode的緣故,編寫的過程強烈感覺到了xml及ini設定檔存在的好處,之前並不是好理解,但是現在明白了。之前打算添加資料直接寫檔案,但是流程太複雜,還要考慮刪除的問題,於是改為每次退出程式時儲存新檔案,開啟時載入,就是有一個缺點,如突然斷電的情況,則新添資料並未儲存。手工寫文字檔的問題仍未解決,字串操作學到了一些,現在打算考慮使用xml作為設定檔。

 本周寫程式比之前熟悉了很多,也順手很多,大概可以摸著石頭過河了,本周最大的收穫在於對系統底層的理解加深,弄明白了很多之前不明白的概念機制,所以用起來更順手。但是我也同時發現,困難是永無止境的,也不可能奢望困難會比以前簡單一些,甚至也許一天是這樣,兩天也是,今天也是,明天也是,但是我已經做好了和困難作鬥爭的準備,我不會奢望今後面對的情況會比今天好,但是我會努力讓自己做得比今天更好。

第四周小結
周一  上周由於字元集的問題導致開發進度受阻,考慮使用xml作為設定檔。但是經過幾天的研究發現,SAX暫時沒時間學習,DOM的話微軟提供的MSXML需要一定COM知識,而目前網上流行的TinyXml引擎卻不支援Unicode,而且是我寫好代碼之後才發現的,因為時間關係來不及再做修改,雖然還是未採用XML儲存設定檔,但是在這個過程中我卻深刻體會到了XML用於資料交換的優越性和便捷。最後經過與別人交流,一般仍是不建議採用註冊表方式儲存配置,所以我只能重回到最初的路上,分析字串。

周二 關於字串轉換的問題我做了一些思考,有了更深入些的理解。不同字元集中對應的字元不同,歸根結底為對應的整數,不同字元集之間的轉換其實就是整數的加減然後再映射到相應字元集。因為對字元操作能力火候欠佳,我在網上找到了一份用於字元操作的cpp檔案,仔細閱讀,然後進行了擴充修改,經過實驗,在修改方面還有個bug,但是對於我目前的項目來說完全足夠,項目的設定檔儲存問題就此解決。

周三 今天開始做一個類似於WinMobile內建的配置視窗的介面,因為對於List Control有了瞭解,覺得它和Tab Control搭配可以達到需要的效果,做的過程中對於各種控制項視窗的位置大小方面較為困擾,尚未找到更有效率的方式。介面很快就完成了。不過我把兩個任務做到一起了,後面又進行了分離。

周四 根據項目的需要,最佳化了檔案儲存體讀出的邏輯,保證了資料的穩定性和一致性,並且更簡潔。然後開始解決項目的一些細節問題,並且學習了解構函式的一般實際使用習慣。並且再次領略了win32編程的一些奧妙,瞭解了視窗銷毀的過程,WM_InitDialog和WM_DESTROY等訊息的提示。今天交項目的時候才發現我對於項目需求的理解有偏差,並且兩個任務都是。第一個任務需要修改主程式,匯入配置,第二個任務需要使用單文件視窗。然後開始了緊急修改。

周五 第一個任務的修改一波三折,不斷遇到問題,幸虧對於多線程的理解比以前強多了,修改中遇到的最麻煩的問題是線程的同步問題,原來的項目並不需要考慮,但是修改的項目要複雜一些,我嘗試使用自己建立的事件來進行訊號控制,雖然理論沒問題,但是實際總有偏差,最後採用了互斥對象才終於完成線程的同步,期間還遇到了很多危險隱形bug,實在驚險,對於線程操作真是需要小心謹慎。另外發現線程的跟蹤也比較麻煩,這個需要向別人請教一下了。
 本周寫程式感覺到了不少樂趣,尤其是解決了字串問題和解決線程同步問題的時候。一個月的時間真快,回顧一個月前感覺確實學到了不少東西,雖然困難出乎意料,但是進步也是出乎預料,明顯感覺學到的知識層次遠深於在學校的時候,對於原理性的東西多了不少瞭解,很令人興奮,並且我很高興,沒有被前期的困難壓倒,今後我更要努力。不過本周我犯了一個觀念上的大錯誤,接到兩個任務的時候我是當做在學校時的練習項目的態度來對待,並沒有嚴格按照“實際產品”的理念來操作,後來經過提醒才醒悟。,我今後一定會糾正態度,嚴格要求自己,保證自己用做產品的理念來做好每一個項目,養成嚴謹規範的思維作風。

不知不覺一個月過去了,感覺日子過得越來越快,頭兩周第一個項目出來的時候感覺快要死掉了,大腦嚴重超載,過了三四天才消化掉.後面的兩周情況比之前好些了,而現在更加好了,很高興我每天都能學到東西.剛開始很擔心憂慮,現在好多了,感覺發展可以進入正常軌道了,就算再困難,第一步都走出來了,後面的一樣可以走過去,在學生大本營上肖舸說得好"憋住一口氣".這段時間主要靠搜尋 提問 看書,有個叫baigoogledu的網頁很有意思--  大家知道還有啥類似的沒?很方便 具體的技術細節我就不提了 提一下幾本書 一個是孫鑫的書和視頻 一個是Visual C++開發經驗技巧寶典 ,不過Visual C++開發經驗技巧寶典 好像沒有電子版,我在csdn上看的試讀版,內容也不少,又去學校圖書館借了這本,侯捷的深入淺出絕對是經典,絕對不過時,膜拜,華人書籍感覺如此經典的不多呢,作為一本技術書籍竟然可以堅挺那麼久.<瘋狂的程式員>也看完了,強烈推薦,廁所必備.

昨天和公司續約了,經理說希望我畢業後留在公司,實習合約直接簽到了明年畢業,補貼1000+午飯,終於鬆了口氣,暫時不用擔心工作的事情了.得到了公司的肯定,真的很高興,感覺這一個月的努力沒有白費,後面還要繼續努力.現在我開始幫頭兒修改一些技術含量不高的程式,也可以不斷學習,公司的環境也蠻寬鬆,歐美式管理,感覺很好.真的很羨慕頭兒和網上的各位,高手真的太多了,雖然我現在相差很遠,但我會繼續努力走下去,畢竟現在的方向感比在學校時要清晰很多了,就以各位為方向,努力認真走下去,希望能和大家共勉.

最後弱弱地問一下,公司的補助一般是每月啥時候發呢?偶滴飯卡已經沒銀子了```今天中午就成問題了````公交卡也開始告急````還有手機卡````房租 --#  my god     

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.