Windows开发的内功和招式
Windows開發的內功和招式?
最近一個月筆者休了大約兩周的假期,期間沒有學習新的開發技術,也沒有去游山玩水,而是對自己的知識結構和Windows開發本身進行了一個深入的思考,收獲頗多,在這里希望和大家共同分享一下。
如果把Windows開發比作練武,那么就一定有內功和招式,二者相依相存,沒有內功的招式只能算是花架子,中看不中用。
那么,什么算是內功呢?
首先,我想說的是系統模型和知識,整天在windows上做開發,對windows的了解夠么?可能很多人說,我是做.net開發的,了解那么多沒用,.net都做好了。我同意,人各有志嘛,但是我想問個問題,.net寫的大型客戶端有時候會突然卡一下,你能告訴我什么原因,怎么解決么?C++寫的windows程序有時候內存會漲的很高,你能給我解釋一下為什么嗎??別告訴我是內存泄漏,你怎么就知道是內存泄漏?在哪泄漏的?如何解決?
其次,我想說的是內存模型,windows內存分為虛擬內存,堆內存,棧內存,具體的堆內存又分為CRT堆,私有堆等等,你能解釋一下都有什么區別么?如何分析那塊內存上存儲的什么數據?如何去查看這些數據?使用什么工具可以讓這個過程更加方便?
第三點,我想說的是關于C++語言和C#語言本身的一些知識,你了解的夠么?什么是C++ traits? C++構造函數和析構函數可以拋出異常么?如何寫一個異常安全的類?對于C#,那些操作可能會導致性能問題,底層使用什么技術實現的,都有什么優點和缺欠?
限于篇幅,這方面的東西,不想寫太多了,我想說的是技術學習并不是只有招式就夠了,內功實在太重要了,沒有這些知識積淀,好多人知識憑借自己的主觀感覺去做各種的判斷,一會說memory leak了,一會說問題在別人的代碼里,自己沒問題,我想請問的是,你有根據么?靠拍腦袋就做出的結論很難讓人信服。其他的內功還包括:TCP/IP,反匯編技術,調試技術等等,在此不一一舉例說明。
?
那么招式都有什么呢?
太多了,WPF,WCF,UI, .Net開發,MFC,ATL,COM,WTL可以毫不夸張的說就只把這些知識都學習一遍就需要很長時間,而且你可能越學越覺得沒底,只習的招式沒有內功,根本不能發揮出招式的最佳效果,所以我的建議是,剛柔并進,內外兼修。
?
總結
本文是筆者對于windows開發學習近10年的一點感悟,并無夸張本意,只是希望指名其中的道理,給后來人一點方向,以便少走一些彎路。人總有迷失方向的時候,只去學習招式而不修煉內功可能會走火入魔,內外兼修才是正路。
轉載于:https://www.cnblogs.com/HeroZearin/articles/2698205.html
總結
以上是生活随笔為你收集整理的Windows开发的内功和招式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA 删除Module
- 下一篇: Dojo学习笔记(三):类化JavaSc