怎样怎么才能成为优秀的人一个优秀的程序员

如何成为一个优秀程序员_百度知道
如何成为一个优秀程序员
我有更好的答案
从Java后端开发到架构模式,总是有一些新事物值得学习。2:Git(不是GitHub。大不相同)。构建自动化:Jenkins。IDE:Netbeans或Eclipse——不仅用于编写代码,中间环节的沟通,也是项目中的主要开发者:Bugzilla或Jira从初入职场菜鸟到职场大咖,很多程序员在努力充实自己,此时你的自学能力决定了你能多快的完成任务。7、良好的团队合作精神无论是部分编程还是大型项目,所有开发人员都是作为团队的一部分在协同工作。你需要致力于团队的目的,或帮助新的团队成员克服障碍。不要存在这种“我只要做好我的本职工作、专业基础(知识的积累)一个程序员的知识积累很大程度上决定了其解决问题的能力。知道如何编写代码是基本的技能,下一个最好的事情是J Boss Wild Fly。5、沟通的能力沟通是我们做好一切事情的关键。有时这是由工作的环境决定的。我遇到了很多没有如何从他们最喜欢的IDE调试的开发人员,明了前进学习的方向。当Glassfish开发停止时,正确的口头沟通非常重要,有时候我们需要对自己进行一次能力定位,了解自己的优势和没有掌握的技术。芯学苑列出几点作为初入职场的新手评估自己,下班就直接回家”的态度。能独立完成整个项目才是优秀的程序员、技术能力(解决问题的能力)这是非常重要的事;过硬的技术能让你得到面试机会,需要写文档时,良好的编辑能力也算做是沟通能力的一部分。6、自学能力这是一个非常重要的技能,在你自己的空闲时间学习新的技能。我们必须与我们周围的环境保持互动,无论是在我们的私人还是职业生活中,为他布置的任务。如果拿一个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的数量和难度来衡量。一个程序员能基本无误的完成项目中的一个功能算是合格,但在此之前,他对项目的生产力为负,和同事们沟通以正确的方式进行合作。无论哪一个方面沟通出了问题都不是小事情,同时:构建工具:Maven或Gradle,难免会有超出自己知识范围的时候。知识刷新频率极快让人无法追赶的这个时代,并在工作中游刃有余。在此之前,应该学习更多的专业知识,达到优秀程序师的标准。不要等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。经常阅读博客和论坛。当公司招聘一个Java开发人员时,是会优先考虑能力因素的。在实际的项目开发中,一个程序员的技术能力等于其解决问题的能力。Bug跟踪,但是按照下面说的去做也是一个很好的选择,修补bug的时间其实要多于自己直接完成该功能的时间的。能较好完成一个完整模块的程序员才算是较好的程序员。SCM,程序员还需要正确的传达设计的实现难度,以及让别人正确的理解自己设计模块的接口。在不写文档时。一个良好的程序员知道如何在各种团体面表达自己。也许对你来说显而易见的东西在他人的角度来看并非如此。从大的尺度(比如一个人的工作生涯)来看,一个程序员知识积累的多少只决定于其自学能力和他对编程本身的兴趣。在一个分工明确的项目中,程序员需要理解产品,和领导沟通理解自己的任务,是每个程序员的梦想。4,追求参与一个大型软件系统的开发,但是知道Java编程语言的原理,知道代码背后的算法将使你从人群中脱颖而出。3、主流编程工具今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。成为团队的一部分,帮助周围的同事,对自己的能力也是不小的提升。就像拿破仑说的不想当元帅的士兵不是好士兵,尝试加入本地聚会小组。你学到的东西可以帮助你的事业,而且还从IDE中重构和调试代码、JSF的知识应用程序服务器所有Java开发人员应该知道如何在Apache Tomcat中部署。1
采纳率:81%
来自团队:
哪怕你只是完成一个小功能,优化了一段代码,都是你辛勤付出的结果,至少能在某一方面成为技术达人。程序员加班是很正常的事情,应该很少有人会选择程序员这个行业,但同时程序员是一个有点乏味枯燥的工作,好不容易思考出解决问题的方法,迫不及待的把代码写出来,功能也实现了。5、要学会写文档不要以为程序员只要负责写代码,如果是那样,你永远不能有上升的空间了,管理文档等等,是你了解开发流程,执行效率低,立马提交代码完事。殊不知你的代码中还有不少细节需要完善,听再多的视频课,都是你必须关注的问题。且不谈这些细节问题对你做出来的项目的影响,磨砺技术程序员是一个在实践中成长的职业:1。6,是正在参与到项目中去,最好是能参与从设计到开发到测试到维护一整套的整套流程、迷恋技术,保持对代码的热情兴趣是最好的老师。毕竟,你做的是工作,写出的程序bug多,大到内存泄露、资源释放、代码是否高效,小到注释是否规范、学会复制粘贴现在的开发资料已经非常的充实,遇到难以解决的问题不要过分纠结,为难自己、加班虽苦但也是提高的过程虎虎在之前的文章中说过,是你能力提高的体现,不是在学校做研究。7、细节决定成败不少程序员都有这样的习惯,学会寻找成就感新程序员由于技术水平,内心充满有挫折感。要学会自我减压,相信挫折与失败只是暂时的。因为不管是走技术路线,还是管理路线,但正在接触项目的时候,就两手发软,头脑空白了。最好的提方法。对于程序员怎么做才能成为一个出色的程序员,建议如下,加班学习,同时在这段时间要注意多总结,注意工作方法:毕业之后的前三年最为重要,要认认真真钻研技术,积累经验,可能被同事嘲笑(我发现这还是普遍现象)。如果你不迷恋技术,对代码充满热情,那你只能做一个平淡的程序员。2、在实践中成长、银行、保险等行业的it人才外包解决方案,请打开搜索引擎搜索一下,然后被上司责怪,产品运营的必由之路,要加班工作、经验的欠缺,技术文档,产品介绍文档。你看再多书,如果不是最初对编程充满兴趣。3,都离不开文档,方案文档,发奋图强。在工作中要学会寻找成就感,自以为学到很多东西。你现在的付出是为了以后的成功!4、不怕失败,合理安排时间,提高工作效率厉善信息--怎么做才能成为一个出色的程序员?厉善信息科技(上海)有限公司2015年成立,一直致力于it人才外包业务,提供互联网、金融
1条折叠回答
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。(小鱼和小虾米)
(@lphelia)
第三方登录:1.实践与犯错误
第一个建议是你应该保持不断练习,代码敲得越多就越高效、犯的错误越多收获得就越多。为什么在你练习时,犯错非常重要?你编的代码越多,你就会意识到你在处理错误、设计、线程处理等情况下犯的错误。你将会从这些错误中学习,这时你的技术将会越来越好。
2.利用网络和书籍自学
显而易见,提高你技术最好的方法是自学技术,去关注你所匮乏的技术。最绝大部分的程序员来说,一个比较好的途径是去阅读来自不同地方的技术文档,比如Google的 website for developers,这里有很多经验丰富的程序员写了很多高质量的引导性文章。 Code academy, Code.org, , 以及 HTML5 Rocks 都是一些很好的学习网站。
3.自我反思
对自己写的代码进行反思非常重要。每次修改一个bug后,应该反省和思考怎样才能避免以后再出现这样的错误。这也是一条非常重要的编程准则。推荐一本书《编程匠艺》。
4.向其他程序员学习
试着去做大量不同类型的项目,把每个项目都当成一种学习。当你觉得做得不爽的时,这才是好的。是自己脱离自己舒适区,去和其他你不熟悉的程序员一起工作,这样你将会学到很多新的东西。
如果机会允许,尽量和其他程序员一起工作,因为这样可以提供你的代码质量,并且帮助你提供团队合作能力。当和其他程序员合作时,就把它当做学习的机会,如何在工作上有什么不明白的就去问其他程序员。正常情况下,一个团队会有那么一个经验丰富的高级程序员和其它程序员,你可以从他们身上学习。
5.做开源项目
可以在来自像Github这类网站的开源项目上做开发,创建一个开源项目的分支然后做开发,这是提高你编程技术的一个非常好的方法。
在开源项目中读并且理解别人写的代码。在你自己的项目或开源项目中写注释有助于你理解自己的代码,也会使你更容易被别人理解。
6.阅读代码
读开源项目代码,或其它程序员的代码,去理解它们是怎么工作的。去发现代码中的模式,培养自己的技术,慢慢的你就会有你自己的"代码感"了。培养自己的"代码感"可以使自己在编程的时候感觉到那些地方出错了从而避免错误。
7.精通你使用的编程语言
是做你所在领域最棒的,还是样样知道却都不精通呢?个人观点,至少对你所要使用的语言很精通,然后可以广泛学习其他语言。
8.加入在线学习和开发者社区
技术使得学习更加容易了,实质上是移除了学习的障碍,不像以前还得报班学习。现在信息获取更加容易,所以学习也更加容易了。
去加入一些社交媒体、在线社区和Blogs,各类Blogs中常常包含很多技术文档、信息、新技术特征,以及API等。
去加入Stack overflow、论坛和其他社区,这真的非常非常重要,因为你可以从别人的讨论中学习。它会给你一个更好的平台来解决你的问题。确保在讨论中问很多问题,并表达你自己的观点。
9.编写单元测试
如果你使用单元测试,你将会发现它能帮助你改善你的设计思想和编码过程。这样一来,你将会更加善于设计代码。通过编写单元测试,它将会帮助你发现更好的名称、抽象类、接口以及抽象类等,这都将会提供你的代码质量。
10.进行代码审查并发代码给别人审查
做代码审查非常重要,它能帮助你成为更优秀的程序员。通过代码审查,你可以提高你的"代码感",并获得别人的反馈意见。同时,你能帮助别人提高他们的能力。当获得反馈后,要对自己不明白的地方询问更详细的信息。
11.最最重要的….和别人讨论并享受乐趣
在编程的时候,非常容易脱离外界联系,但是和其他人讨论代码、开一个简短的会议有助于头脑改善这一点。
去和同事及其他程序员讨论交流、参加一些比较大的会议,比如 JavaOne,Devfest等等,并享受其带来的乐趣。
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
记住登录状态
重复输入密码一名优秀的程序员是这样炼成的
互联网 & 06-19 15:50:35 & 作者:佚名 &
  如何成为一名优秀的程序员? (一)
  一位仁兄说的&程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具&我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是
  如何成为一名优秀的程序员? (一)   一位仁兄说的&程序员写的程序不是算法+语法 ,而是要能够满足用户需求的工 具&我非常赞同,要想达到用户需求就必须从各个方面来考虑如业务、人机交互 、效率等方面,而不只是一个语言(语法)的问题,语言(语法)只是工具,只 知语法不知其他那就真是编程机器了! 编程机器在印度高中生经过几个月培训,按照严谨的软工方法,加上较高的管理 ,就可以胜任了!大家相信吗,我是相信的!谈到这里我就不禁说到了国内教育 界最近在探讨的问题&计算机科系的毕业生特别是本科大专生到底出来干啥、如 何适应社会要求&,大家也看到了很多计科系大学生说精通N种语言,熟悉N种工 具,不知道学校里的其他知识到那里去了,甘愿做编程机器,浪费了人民的纳税 ,干高中生能干的事,比较可惜吧!在国内现在就是这样了,看过一则帖子:清华的计科系毕业声在建筑院里搞开发还不如建筑专业的毕业生。说着说着就岔道 了,国内的软件开发业到底是需要那些人:如果仅仅是编码机器,那我估计中国 硅谷还是做梦去吧!   社会似乎也需要编码机器,翻翻招聘广告,做应用开发的都要求精通某某语言, 熟悉某某工具,很少需要懂管理懂软工的人。以我个人一点偏激的想法,民族软 件产业要腾飞,更需要的是能管理使用编码机器的人,即管理人员、国内软件产 业编码机器已经很多了。希望不要惹怒了那些编程高手! system develop与Application develop在国内到底哪个能养活你,能赚钱,诸位 仁兄想必也知道,况且俺也没发现几家水平高的公司招这方面的人,毕竟OS,DB MS,COMPILER都被国外做了、另外也别跟我谈LINUX,毕竟还是少数烧钱的人做的 事情,我先喂饱肚皮再说。我手下的很多搞4GL语言的程序员都想转行学VC等所谓 的更低级的语言,我总是说&在XX城市,先用4GL工具生存,以后再学习VC吧!& ,说的简单一点先解决肚子问题。如何判断自己是否是编程机器?   1、面对需求不考虑用户,只是考虑用那些程序技术展示自己的语言语法技巧 .   2、学习了N种语言 .   3、从来不学习或实践软工 .   4、语法语言水平在众人中遥遥领先、特别是一些稀奇古怪的语法 凭着兴趣和创造力去干,却重复繁琐的劳动。 做着没有意义-唯一意义是赚钱,而且真是出了半斤力, 拿不足八两。 终日劳累,却不能学自己想学的。最终结果是跟不上社会科技的发展 ,人已衰老。悲哀!!!   开发软件的关键是要有想法,一个好的想法比什么都重要。尤其是有关 网络方面的就更是如此。   入门还可以,但是要继续深入了解可能要难点。 未必吧 偶觉得大学里的高数 数理方法之类的, 如果你不是做研究的话, 应该是很少能 用到的 不过如果说到离散之类的, 倒还是时不时的能有点用现在的程序员比起十年前是不是要花更多的时间来 查帮助呢。系统越来越大,手册越来越厚,软件开发的 周期是不是越来越多的淹没在查帮助之中了呢。    实际上一个程序员最终的技术需要和实际相结合。真正在编写程序到达一定时候,语言的使用并不是最大的障碍,对整个项目的把握、软件工程的把握、数据库的设计以及执行效果的分析等等才是需要进一步考虑的东东!否则,为何大多数公司到要求有编程经验了!这些不是程序员必须学的。但数据结构,编译原理,操作系统原理等是必须要学好的,英文的多看,不懂计算机英语可不行。实我不是什么中专生,而是我读的中学和一个私人办的电脑学校联合开的电脑专业(并不是我中考考的差,而是这个学校太贪钱了,才被录取到这里,恼火,我们班里中考成绩从两百多到四百多的都有,我就是四百多分(重理轻文的结果,要不然...),当时读书的时候,我是班是的高手(其实只是比其它同学懂而已),大家叫我dos,因为当时学的都是dos的内容, 毕业后还没有对编程很感兴趣,只想找一个电脑的工作就可以了,哪怕是打字的,可是看报纸,去人才中心,看到都是要大学的,为此感到很失望.也对电脑失去了兴趣.后来学校打电话到我家,说厦门厦华公司要招工,要不要去,我很快就答应了,因为当时没工作,天天呆在家里.后来打工的时候,天天象一个机械人一样,重复着同一道工序,因此经常在深夜的时候,思索着自己的未来,由此重新生起了对电脑的感情,因此经常买电脑杂志和报纸看(可以堆成一座山了).由于离我住的地方不远处,有一个电脑培训的,所以经常到那里上机,而在学校里学过的软件也只有FOXBASE和WPS,其它的不值一提,所以上机经常用foxbase,直到这时候,才对编程产生了浓厚的兴趣,一年后,自已买了一台电脑,开始认真学习编程.由于我是属于职业中专的,因此经常想,就算学得再好也没有用,所以想考程序员,而考程序员要懂得c语言,所以就学习turbo c,学完了,学数据结构,同时看'C高级实用程序设计',澳门回归和2000年的两个晚上,我都是在编程中度过的.由于我这个人对书很感兴趣,经常在星期六,星期七去书店,而在书店里,也是看编程方面的书,而看到的编程书籍大部份都是windows方面的,为此也经常思索着学dos编程到底有没有用.后来,春节放假(要2月13日上班)回老家,天天去新华书店(正月初一也去),看到也都是windows编程方面的书多得像狗屎一样,所以就下决心学windows编程,因此正月初四(快餐店还没有开张)就去厦门了,很快买了delphi的书和d版delphi5,疯狂地学习(到目前为止,买了8本delphi的书,因为国人的写的书实在太烂),而由于遇到不懂的又不知道怎么办,为此想到了网络,但在外打工不可能上网(上网吧太贵),所以就辞职了(4月21日),现在,程序员考试快到了,是报还是不报一直犹豫不觉,困此才有此问题.打工的岁夜,我永远不会忘记,因为付出太多了,也失去了太多(坏了两个光驱,瘦了几斤),直到现在,脑海里还不时浮现起那几个无眠的夜晚.忠心感谢大家.我不认为编码的人就是机器, 而系统分析就不是机器, 其实系统分析员就是销售的机器, 所有职员有是老板的机器.它们之间这是不同工种吧了, 当然对系统分析要求要高一些, 薪水也高一些, 但更让人佩服的是销售, 是他们驱动了整个的运作.我也是个中专生, 还是学机械的(后来自学了计算机), 我非常了解在传统的制造业是如何的规范, 设计人员设计图纸, 然后经审核, 再到车间试样, 再根据情况, 修改图纸, 如此反复几次后才能一个产品定型,而在软件界, 就没那么好了, 领导会说, 这个你做, 那个他做, 也没有经过很细的分析(国内很多都是这样), 在我们这里也没有系统分析员, 每个人都是设计员, 也是编程员, 虽然这样对个人来说, 能学到很多东西, 但不利于项目.我国的软件过程水平,确实令人担忧, 目前为止只是, 几个人十几个人的小软件, 还没有能拿得手的大型软件.至于中专生编程问题, 我   认为只要入了这个行, 就不会比本科生差, 因为对他来说没有优越的学历条件, 那么只好埋头苦学, 但这正好适应当前计算机软件迅速发展的今天, 学历只能代表过去和基础, 更需要的是有能力的人, 解决问题的人, 实干的人.对我来说确实有时有点自卑, 没有上过高中和大学(由于那个年代, 我只知道能为父母减少一点负担就行了), 所有我一直在努力的学习(corba, uml, java, 软件过程等), 目前为止我并没有觉的我的构架能力和编码水平比他们差, 只是觉得E语言实在太差.过计算机本科又如何?我有几个同学到银行去搞业务了,有同学任教,有同学收税去了......60多个人真正现在搞计算机的还就只有几个人,再看看当时这些计算机本科生的毕业设计,//faint有的人到最后连vb都搞不定,但他们什么编译原理啦什么组成原理啦什么软件工程啦学的(应该是考试的分数)真还不   错,至少我感觉有些概念比我清楚(上课没听?)所以我觉的中专生并不比一般大学生差(当然有些重点学校除外//hehe),有时中专生有更大的压力逼迫自己去学习,学历不是重要的,关键是一个人的素质.我们不能将目标定位在做程序员或编码员(Coder)上光会写代码有什么用?那叫&编码员&,在国外是属于体力劳动的,不像国内,会写程序的就叫高科技。重要的是分析问题、解决问题和规划的能力,系统分析,系统设计及项目规划才是正途。这就需要学习所谓的基础课程了,如:软件工程、离散数学、数据结构等等。从vb到现在开始学vc后,一个人捣鼓了几天也没有什么新发现。跟本不知道VC的编程思想是什么,请大虾们告诉我,它和VB的差别真是太大了。VC的博大在于MFC的操纵,它是Win32API的封装.思想在于怎样了解MFC的内幕,它的运行机制.差别也大,差别也不大!这要看你对API的理解了,虽然VC++的可视化没有VB的好,但是不是绝对没有的,其对而且对话框的编辑是跟VB一样的,不过不是像VB那样放在第一个界面罢了,VC++的博大精深是VB难以望其项背的!:)而且VC++是完全面向对象的编程工具,而   VB是不够完全的面向对象编程工具,VC++是完全编译语言,VB是本地编译语言,不够完全,VC++效率高,封装性好,继承性高,VB效率相对低了很多,但界面友好,二者只能取其一,或者使用VC++,VB辅助(因为VB开发快),当然Delphi,BCB也是不错的选择。   程序员不应依赖开发工具,程序员更应该拥有的是一种思维、一种精神、一种观念。就像Richard.M.Stallman一样,有自己的精神,为自由软件而奋斗。就像求伯君,为民族软件的振兴而奋斗。这才是真正的程序员。   应该说,他们更注重的不是技术,而是软件的思维,软件的灵魂!!我刚学VC的时候,还没有上网.身边也没有一个可以问的朋友,所以大部份都是自己啃的.那种感觉真是很痛苦. 现在在网上就不同了,可以得到太多的资料了,而且还可以得到在线帮助.但这些都不是学习的关键. 相信各位也知道VC的难度,并不是那么容易上手的,所以要想学会,学好VC,靠外力是不可能的.主要得靠自己. 自己要有一份难得的毅力,对编程的狂热也可以在一定程序上起到帮助.我就是这样的.起初,没有人帮我,我学习VC是三天打鱼两天晒网,学习进度很慢,幸好对编程的执著,使得自己坚持下来了. 如果你从来就没有接触过编程,那你学习VC的速度可能会比学过面向过程编程的人要慢一些,因为你要去理解命令及语句的含义.但只要你努力,并且可以得到别人的帮助,我相信在半年内会对VC有一定的认识. 请学赤面向过程编程的朋友也不要笑,因为面向过程与面向对象实在是区别太大了.就拿封装一词来说吧.当初我是左想右想才想通的.所以不要自己学过编程,就会在学习VC的通道上比别人轻松. 现在有一种现状应该让我们注意.我发现有很大一部份初学者觉得VC是一种语言,C++又是另一各语言.我在和一些初学者的交谈当中,查觉到了这一点.有的初学者竟然还认为我学VC为什么就一定要学C++?我想这个问题是我们大家都没有注意到的一个问题.就是向初学者讲述C++对VC学习的重要性. 我这有个例子,跟大家讲一下. 我有个同学,他接触编程比我要早,在我还在为VC中&::&符号怎么标记的时候,他已经在学习C了.后来,我对VC稍有理解的时候,他也发觉C的跟不上时代的脚步了.我便提议他从C++语言学起,可他认为自己有C的学习功底,根本就用不着再去学习C++.可在学习VC的当中,遇到的困难真是数不胜数.最近,他还是去买了一本学习C++的书.从头再来学习C++. 我希望通过这个例子,能让广大的初学者知道,C++对VC学习的重要性。   学习VC必须有狂热的编程热情,否则是很难坚持下来的,我周围就有几个这样的人,他们比我先学VC近半年,但现在仍然学不会,而我现在虽说不是很厉害,但基本的应用程序是不在话下,我就是天天看书,上机实践,几乎所有的时间都泡在里面,有时连吃饭都在想,为什么,因为我确实想啃下这块硬骨头,我不想半途而废,我觉得学习VC不仅仅是学到了更多的东西,最主要的是培养了我们自己一种坚持克服困难的毅力。   对于VC,我有几点经验:   1。技术为本,语言为次.   2。MFC的单个类有用,DOC/VIEW要小心。   3。OOP要小心,使用不当反而造成大量的工作和糟糕的代码。   4。如果可能,考虑选择使用Delphi(CBuilder+VCL)。   5。到了一定程度,一定要学COM。   要学VC,必须有对C++深刻的理解,对WINDOWS运行机制的深刻理解。尤其想成为VC高手。举例 , 对于虚函数,不仅要知道有这么一个东东,更要知道它的内存镜像 。这样才能对VC中很多的东西举一反三,事半功倍。本人学习VC近2年,但自觉第一年由于心情浮躁,把VC的书翻了一遍又一遍,却每次都只看了一点就无法再深入。直到毕业前夕,痛定思痛,克服浮躁,认认真真的从最基本的开始学,把每一点都搞的水落石出,经过三个月的刻苦,终于大成。直到现在,半月搞定COM/DCOM,都托当日刻苦之福,因此劝告想学VC的朋友,一定要顶住开始的艰难岁月。成功属于刻苦者。   每个人都有自己的学习方法,也许这种方法对我来说有用,但不见 得就对所有的人有用.所以,请不要盲目的跟着别人的学习方法学习,要思考属于自己的学习方法. 但我还是会向大家说出我自己认为比较好的一种方法. 学习编程其实与学习其它东西一样,要想掌握它,就要实践,实践,再实践.当你学到了一种新的技术或知识时,多实践是巩固学习的一种最好最有效的方法. 这个实践不是照著书上的例子做一遍,而是根据自己的能力,给自己出题,然后去完成它.只有这样,你才能发现自己的不足,同时又增加了自己的编程经验. 但要成为合格的程序员,光   会写代码是远远不够的,更重要的是思考.谋定而后动,是 不变的真理.   在我的理解,VC只是一个编程工具,就如BC、BCB、Delphi 一样,其实对于编程最根本的就是三个方面,语言、开发包、 操作系统API,他们三个方面应该说是相对比较独立的。   VC是MS开发的,所以针对的是windows api,你可以不会C++, 也可以在VC下用C写出很优秀的程序,当然如果你比较熟练C++, 并且熟悉开发包MFC的话,工作可能要轻松不少。所以在我看来,学习的过程可以是这样的:   1、先学习C或C++,在windows的console环境下编写不太深入涉及API的程序;   2、在基本上掌握了语法之后,开始接触简单的系统API,学习 Windows的编程原理和机制;   3、在可以编写简单的菜单程序,可以简单地在WM_PAINT下操作 GDI函数后,开始学习MFC,可以从Step tourist学起,看MFC的源代码,理解几个关键的宏的定义与实现,特别是MESSAGE MAP。 在学习的过程中为了给自己增加点挑战,尽量不要使用resource edit,试着自己编码实现控件的创建,消息的响应。 再就是看自己的造化了,动手做一些小工具,特别是自己平常需要的,对自己的提高也应该是很有帮助。 究竟我们要的是结果!良好的分析问题高效清晰地肢解问题的能力才是我们真正要不断学习的吧?   和学习其他知识一样,重要的是获得提出问题,分析问题,解决问题的能力,不是为编程而学习,你具有什么样的思想,就会写出什么样的程序。学一门语言,不能仅仅是语言,要注重语言背后的思想方法,看他是如何来解决某一问题的,为什么要这样去做,他总是要符合客观事实的,就像人说的话一样,存在某种逻辑,数据的组织,信息的传递,靠你自己的头脑去建立,然后看C++中有什么可以帮你的,该怎么样用他来表达自己的想法。只要你认真实践,努力去做,寻求乐趣,就会达到目标。我虽然 真正认真学习编程的时间不长,但现在我是认真的,就有了以上的体会。   学习VC++有相当的内容要学,而最后的深度则看个人的悟性与勤奋了。   1)掌握最新标准的C++。(2个月)   如果曾经在大学里自以为学过C/C++,还对dynamic_cast/static_cast/template/try/catch/throw/stl/...感到   陌生,那你该Refresh一下新的ANSI C++标准了。 ----此与VC++无甚关联,g++/bcb均有所支持。   2) 学习SDK编程;:-O (6个月) 痛苦是暂时的,必要的,坚持就是胜利! 建议用Lccwin32/Masm32/Tasm编写小而精的工具软件; &Windows Programming Guide.& &Advanced Windows programming &   3) 研究MFC源代码。(6个月)   不要被一大堆的宏所蒙蔽,just track and dig into it!! 在知道MFC如何扩展,包装SDK之后,自可功力渐进,不被其MFC系统框架所困绕。&MFC Internals&   4) 研究OLE/COM技术。   COM/ActiveX技术是MS的核心技术,只有彻底洞察其理论精髓才可以体会现在的   操作系统的技术趋势,以不变应万变。   &Inside Ole 2&   ***几点建议***:   1) Delphi/BCB/VB可以很快构筑界面,但对于想真正学习、理解系统不是一个好的平台,但如果有时间读一读VCL的源码,看看Borland是如何封装系统的,也可借鉴不少。   2) 学习ASM对理解C++有很大益处。Soft-ICE也是和VC++结合在一起的好工具;   3) 语言本身是皮毛,算法是筋骨;无论高级语言如何发展,在理解操作系统的基础上不断自我创新的能力是源源不断的;如果精髓一旦了然于胸,选择何种开发工具都可以驾御,一见如故了。   每个人学习的过程都会不同吧,我在98从TC转向VC时,对Windows的消息机制一点概念也没有,对着个MFC不知所措,几个月下来一点进展也没有。我于是暂时转向win32位编程。整整一年时间吧,我就是与API打交道,连编辑菜单条对话框等资源文件时也用Uedit32手工编写,为的是希望能对编译器的全过程有个感性的了解。之后我再转向MFC时,果然发现两者是相通的,虽然有一定的区加,不过有了win32位编程的基础再看MFC 时会发现它比win32位编程要方便了太多。 现在市面上的VC书很多,不过大多是入门书。我以为要精通VC(只是以为,本人自已距精通还远的很)应该多看多写程序,看书只能是入门,会用了而已。我不赞成滥用ActiveX,一来我以为它的性能很成问题,真是又大又慢又不稳定(可能是我有点偏激了吧),二来用了它您的程序今后就要被别人牵着鼻子走了。有次我用了个控件,程序都写了大半了,它给我来个继续使用请支付333美元,我两个多月的工钱,烦不烦人?现在我尽可能用别人写的类源代码(我已收集各类代码3-400MB了),一样用起来方便,还能边用边学,必要时还能自已改造。 我以为在现代的网络时代,资料到处都有,无论什么先进的技术,今天我不会我只要查到资料,快的学上几天慢的一两个月我也能学会,现在已没有写不出的程序了,写不出是因为你没有耐心写完它。我以为现在的程序员不一定要多么聪明,而更需要他有完成枯燥项目的耐心,找BUG的细心,对于金钱的平常心   (不要为了早日拿到钱而赶进度),最后最重要是有顾全大局,团队协作的精神。 最后,王靖朋友的经历与我实在是有点相似,算是同病相伶吧,真心祝您早日实现自已的人生目标!学习VC是一项费时费力的艰苦学习过程。为了真正用好VC,你 不得不先从OOP开始学起,也许浏览一本纯理论的书要更有意思。 你将从另外的角度考察OO思想。接下来学习C++,学习WindowsAPI 学习MFC,剖析MFC,扩充MFC,创造自己的类库(不要企图写一个 和MFC同重量级的类库)。如果能够精通Microsoft C编译器的各种 参数,你就可以开始研究微软C/C++语言编译器的进化历史(结合 各种背景知识)。 掌握了编程的思想,征服VC只是时间问题。   学习VC是接受微软技术体系的过程。所需要学习的不仅仅是C++,MFC。 需要学习所有微软的技术,包括Windows编程,Win32系统(实际上 Win32系统实现了很多我们在屏幕上能看到的东西,最起码NT的内核 并不大),COM(深入研究它,理解对象是如何跨越进程边界的,最终 能够自如地在Exe中实现自己定义的接口才算到家了。不过这多少有些 不太必要。),DCOM,ctiveX,Windows DNA... 如果你想成为大拿,学吧,没完没了。最起码,使用VC,你甚至于可以 开发自己的操作系统(当然与MFC没有一点关系)。
大家感兴趣的内容
12345678910
最近更新的内容

我要回帖

更多关于 程序员如何才能带团队 的文章

 

随机推荐