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开发的内功和招式相关推荐

  1. Android开发——Android进程保活招式大全

    0. 前言 目前市面上的应用,貌似除了微信和QQ都会比较担心被用户或者系统厂商杀死的问题.Android 进程拉活包括两个层面:(1)提供进程优先级,降低进程被杀死的概率.(2)在进程被杀死后,进行拉 ...

  2. 从招式与内功谈起——设计模式概述(一)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 关于金庸 ...

  3. 招式与内功谈起——设计模式概述(一)

    关于金庸小说中到底是招式重要还是内功重要的争论从未停止,我们在这里并不分析张无忌的九阳神功和令狐冲的独孤九剑到底哪个更厉害,但我想每个武林人士梦寐以求的应该是既有淋漓的招式又有深厚的内功.看到这里大家 ...

  4. 从招式与内功谈起——设计模式概述(三)

    3.设计模式有什么用 下面我们来回答最后一个问题:设计模式到底有什么用?简单来说,设计模式至少有如下几个用途: (1) 设计模式来源众多专家的经验和智慧,它们是从许多优秀的软件系统中总结出的成功的.能 ...

  5. 二十三式武功招式--总纲

    扯淡 写程序犹如练武,一样需要内外兼修. 数据结构算法,操作系统原理,编译原理这些知识就犹如武侠中的内功心法,需要日夜旦夕苦练,经年累月方能有所小成. 而内功一旦有所成就,其它任何武功学起来就会轻松加 ...

  6. Netty基础招式——ChannelHandler的最佳实践

    本文是Netty系列第7篇 上一篇文章我们深入学习了Netty逻辑架构中的核心组件EventLoop和EventLoopGroup,掌握了Netty的线程模型,并且介绍了Netty4线程模型中的无锁串 ...

  7. 编程的几种境界与招式

    常常听到管理层谈团队建设与团队成长的话题,一个团队要永葆生机,保持强大战斗力,就必须不断成长.不进则退,这已是亘古不变的道理,不仅仅适用于个人,对于团队来说也是如此.我们来谈谈互联网行业,技术团队成长 ...

  8. 避免需求分析与定义误区的7个招式:作为产品新人,我所遇到的坑(续)

    在需求分析和定义的过程中,作为产品新人的你也许和我一样陷入了误区之中,恨不得抽自己几个耳光?(参见前作需求分析与定义4大误区) 既然已经对可能的隐患有所了解,那么如何避免重蹈覆辙? 招式1:目标驱动, ...

  9. android设计招式之美,麦可网Android设计招式之美

    相关课程: 麦可网Android设计招式之美 麦可网Android高级应用开发 麦可网Android面向对象技术 本套课程目录: 1 – 设计模式与Android框架设计a 2 – 设计模式与Andr ...

最新文章

  1. iOS端Socket连接、发送数据(一)
  2. 用VS2010构建MASM的编程环境
  3. 让jquery easyui datagrid列支持绑定嵌套对象
  4. (2) nginx信号量
  5. mysql 开启引擎命令_MySql中启用InnoDB数据引擎的方法
  6. mysql的exp平方_MySQL EXP()用法及代码示例
  7. TIOBE 12月编程语言排行榜:Python有望第四次成为年度语言
  8. 简约好看的域名售卖页html源码
  9. (26)VHDL实现或(数据流描述)
  10. long 雪花算法_雪花算法(SnowFlake)Java版
  11. IO流-设置输出字符编码格式
  12. Linux php.ini设置date.timezone=XXX为什么不生效?
  13. spark概念、编程模型和模块概述
  14. string类常用方法3
  15. Jamovi 教程:比SPSS还好用的统计软件,强烈安利
  16. 手机常见分辨率及代表机型
  17. 【Excel自动化办公Part5】:设置行高和列宽、合并单元格、取消合并单元格
  18. SIFT、SURF、Harris、BRIEF、FAST、DAISY、FAST经典描述子简介
  19. hdu 2044 一只小蜜蜂...
  20. 表格自适应 css,css 表格自适应一些方法总结

热门文章

  1. 语言nomogram校准曲线图_R语言实现Cox模型校准度曲线绘制
  2. mysql单表简单排序查询
  3. android 虚拟键盘改变单个按键颜色_这款机械键盘很特别!一亿次按键寿命还有高颜值...
  4. leetcode1528. 重新排列字符串
  5. leetcode322 零钱兑换
  6. 机器学习总结(17)-XGBoost
  7. python每天定时9点执行_python定时器每天订时执行的实例方法
  8. Linux加密框架crypto AES代码相关
  9. STL源码剖析 5中迭代器型别
  10. C++primer 第 3 章 字符串、向量和数组 3 . 5 数组