就能够没有障碍进行相当复杂的应用开发。这个过程耗时之短或许不可思议但采纳同样的方法相信所有程序员都能够做到。这种方法说白了就是边学边干。对就是很多培训机构强调的在实际项目中学习。不过略有不同的是我更加强调以下几点1、绝不做成学习项目即使是最简单的功能要做成实际产品级别这意味着几乎成倍的时间投入。2、每个阶段只面对最少的知识点只学习需要的东西。3、项目不断延伸的时候掌握知识的范围开始扩大但此时已经具备一定的基础学习难度已经降低。我用来学习的功能是导入股票日线数据。 这涉及到界面开发、文件操作、本地数据库操作、进度显示、多线程等专题知识。学生项目通常是这样的1、用户选择一个文件2、系统将文件里的日线识别出来3、系统将这些日线写入到数据库界面是这样的一个选择文件按钮一个导入按钮一个显示文件名称的文本框。而作为实际产品级的开发你显然需要考虑更多包括1、应用程序的窗体大小变化的时候你的界面是不是会显得很奇怪2、用户选择的文件不是日线文件的时候系统该怎样反应3、导入的速度较慢是不是应该用进度条4、使用进度条的时候界面往往冻结需要开新的线程进度条才会流畅显示这涉及到多线程编程5、如何提高导入的速度6、导入日线的过程是一个每天都要做的事情如果用户的数学紊乱了怎么办这需要删除全部日线的功能7、用户仅仅记不清最近两三天是否每天都导入了数据怎么办8、用户需要进去后就看到目前系统中的最新日线是那一天的9、用户希望知道导入过程真正耗时多少。考虑到这些更多的因素界面设计显然有较大的不同。同时因为这样产品级的开发要求在学习的过程中会覆盖更多的知识范围与此同时经过仅仅一个项目的淬炼今后任何项目程序员都会知道该怎样思考、该考虑哪些问题、遇到没有接触过的知识该怎样学习。换句话说一个月的时间完成这项功能的同时这位程序员就不再需要老师并且能够胜任所有的VC项目开发。关注点切换的过程是这样的1、最初我考虑界面的菜单结构显然VS2010带来了最新的Ribbon风格我需要知道怎样创建项目支持相应功能2、怎样响应Ribbon按钮的命令理解消息机制3、怎样创建自己的窗口对话框设计器、为对话框创建类、对话框类的实例化、在事件代码中打开这个对话框4、怎样在视图区域打开对话框以造成一个整体的印象简单理解文档视图结构获取视图的大小、使用子对话框5、怎样为对话框加入控件对话框数据交换机制、添加控件变量6、应用程序窗口变化的时候如何保持对话框布局多数对话框保持大小居中显示少数使用EasySize处理布局。7、识别日线文件C类的创建、相应语法知识比如代码页、多语言、几种字符串、完全的unicode应用等。8、写入Sqlite数据库如何使用第三方Dll9、如何显示进度开启新的线程、中止线程、线程安全性问题。10、提高导入的性能数据库事务问题、内存使用问题、索引问题。11、显示导入所消耗的时间12、删除全部日线使用第三方的Sqlite组件13、删除最近5天的数据Sql命令的技巧界面如何响应14、删除全部日线15、检查日线文件格式是否合法看前后经历这么十五个步骤很明显过程中任何一个时刻我只关注解决当前面临的问题。以前台湾的侯捷写过一本MFC机制解析的书厚厚的一本。这本书很多人评价不错但我没想过看这样的书。为什么工作过程中我不需要知道原理这并不代表知其然不知其所以然。我们学会使用与完全弄清其工作机制所需要的时间差距至少在二十倍以上。简单的说你买来电视是为了看的不是为了拆的学会看电视大约只需要几分钟学会组装电视甚至维修电路板这需要的时间不会少于一年。MFC是微软的产品作为程序员我们是用户我们将其看成一个黑箱知道怎么用、知道使用方面的原理就行了。因此在我看来类似侯捷这种公认的高手其实要么是真正的笨蛋要么就是吃饱了撑的无论怎样他都不是一个合格的程序员。为什么任何一种职业追求的都是效率即用最短的时间做能力范围内最多的事情。你甚至分不清所需要的知识的逻辑层次又怎能奢谈高手一个人有限的生命应该用在真正有意义的事情上。这项功能用了一个月的时间完成。我记得后来开始做第二项功能也就是显示一只股票的K线图这就涉及到了C模版、Gdi和DirectX的选择、双缓冲问题、热键问题等但在具备了上个月的基础之后这些委实都算不上多大的难题一一很轻松的解决。第二项功能事实上也是在你开发延伸的过程中知识延伸的过程。掌握最少的基础知识加上最快的学习能力这应该是每一个程序员追求的。当然这种学习方法并不是只能用在VC上面比如公司开始使用Asp.net Mvc 3进行开发的时候我用Asp.net Mvc 3用不到两周的时间重写了上面提到的日线导入功能当然这也意味着后面项目中完全能够做到无障碍开发了。
我个人对C++毫无概念,但在实际做项目的时候
发布时间:2026/7/5 4:49:56
就能够没有障碍进行相当复杂的应用开发。这个过程耗时之短或许不可思议但采纳同样的方法相信所有程序员都能够做到。这种方法说白了就是边学边干。对就是很多培训机构强调的在实际项目中学习。不过略有不同的是我更加强调以下几点1、绝不做成学习项目即使是最简单的功能要做成实际产品级别这意味着几乎成倍的时间投入。2、每个阶段只面对最少的知识点只学习需要的东西。3、项目不断延伸的时候掌握知识的范围开始扩大但此时已经具备一定的基础学习难度已经降低。我用来学习的功能是导入股票日线数据。 这涉及到界面开发、文件操作、本地数据库操作、进度显示、多线程等专题知识。学生项目通常是这样的1、用户选择一个文件2、系统将文件里的日线识别出来3、系统将这些日线写入到数据库界面是这样的一个选择文件按钮一个导入按钮一个显示文件名称的文本框。而作为实际产品级的开发你显然需要考虑更多包括1、应用程序的窗体大小变化的时候你的界面是不是会显得很奇怪2、用户选择的文件不是日线文件的时候系统该怎样反应3、导入的速度较慢是不是应该用进度条4、使用进度条的时候界面往往冻结需要开新的线程进度条才会流畅显示这涉及到多线程编程5、如何提高导入的速度6、导入日线的过程是一个每天都要做的事情如果用户的数学紊乱了怎么办这需要删除全部日线的功能7、用户仅仅记不清最近两三天是否每天都导入了数据怎么办8、用户需要进去后就看到目前系统中的最新日线是那一天的9、用户希望知道导入过程真正耗时多少。考虑到这些更多的因素界面设计显然有较大的不同。同时因为这样产品级的开发要求在学习的过程中会覆盖更多的知识范围与此同时经过仅仅一个项目的淬炼今后任何项目程序员都会知道该怎样思考、该考虑哪些问题、遇到没有接触过的知识该怎样学习。换句话说一个月的时间完成这项功能的同时这位程序员就不再需要老师并且能够胜任所有的VC项目开发。关注点切换的过程是这样的1、最初我考虑界面的菜单结构显然VS2010带来了最新的Ribbon风格我需要知道怎样创建项目支持相应功能2、怎样响应Ribbon按钮的命令理解消息机制3、怎样创建自己的窗口对话框设计器、为对话框创建类、对话框类的实例化、在事件代码中打开这个对话框4、怎样在视图区域打开对话框以造成一个整体的印象简单理解文档视图结构获取视图的大小、使用子对话框5、怎样为对话框加入控件对话框数据交换机制、添加控件变量6、应用程序窗口变化的时候如何保持对话框布局多数对话框保持大小居中显示少数使用EasySize处理布局。7、识别日线文件C类的创建、相应语法知识比如代码页、多语言、几种字符串、完全的unicode应用等。8、写入Sqlite数据库如何使用第三方Dll9、如何显示进度开启新的线程、中止线程、线程安全性问题。10、提高导入的性能数据库事务问题、内存使用问题、索引问题。11、显示导入所消耗的时间12、删除全部日线使用第三方的Sqlite组件13、删除最近5天的数据Sql命令的技巧界面如何响应14、删除全部日线15、检查日线文件格式是否合法看前后经历这么十五个步骤很明显过程中任何一个时刻我只关注解决当前面临的问题。以前台湾的侯捷写过一本MFC机制解析的书厚厚的一本。这本书很多人评价不错但我没想过看这样的书。为什么工作过程中我不需要知道原理这并不代表知其然不知其所以然。我们学会使用与完全弄清其工作机制所需要的时间差距至少在二十倍以上。简单的说你买来电视是为了看的不是为了拆的学会看电视大约只需要几分钟学会组装电视甚至维修电路板这需要的时间不会少于一年。MFC是微软的产品作为程序员我们是用户我们将其看成一个黑箱知道怎么用、知道使用方面的原理就行了。因此在我看来类似侯捷这种公认的高手其实要么是真正的笨蛋要么就是吃饱了撑的无论怎样他都不是一个合格的程序员。为什么任何一种职业追求的都是效率即用最短的时间做能力范围内最多的事情。你甚至分不清所需要的知识的逻辑层次又怎能奢谈高手一个人有限的生命应该用在真正有意义的事情上。这项功能用了一个月的时间完成。我记得后来开始做第二项功能也就是显示一只股票的K线图这就涉及到了C模版、Gdi和DirectX的选择、双缓冲问题、热键问题等但在具备了上个月的基础之后这些委实都算不上多大的难题一一很轻松的解决。第二项功能事实上也是在你开发延伸的过程中知识延伸的过程。掌握最少的基础知识加上最快的学习能力这应该是每一个程序员追求的。当然这种学习方法并不是只能用在VC上面比如公司开始使用Asp.net Mvc 3进行开发的时候我用Asp.net Mvc 3用不到两周的时间重写了上面提到的日线导入功能当然这也意味着后面项目中完全能够做到无障碍开发了。