这篇文章,是从我的《高效开发人员的五个特征》一文中抽出的一个观点。从我自身的事业和习惯中,我考虑了很多方式怎么样才能有效地学习。
1.
要看书。
在成千上万的编程图书中,可能很大一部分根本毫无用处。但是仍然有很多图书对你的(编程)能力有很大的提升。我一直坚持,相比在网络上查找很多有用信息,在同类图书中查找要来得更容易更快捷。
阅读技术图书可心更好地抓住核心内容。对于理论,架构和设计等方面来说,图书也一样很有帮助
。只不过要找到高质量的、权威的信息,就不如网络上可供查找的范围广。
2.
读代码。
这也是我很喜欢的一种方式。如果我并没有几年的专业编程工作经验,在学习之初我并不会去读很多复杂的代码。如果我要是早些开始学习,我将是一个比现在更好的程序员。但是,开始时我会从一些开源项目里,去学习那些源代码(当然,这些代码不能与我的工作有关,也不是我自己写的)。要从自己会使用到的,或者自己感兴趣的程序开始这项工作。我是从
Paint.net 这个网站里开始学习的,而且已经积累了很多关于 .NET 的编程技术。
读别人的代码可以为你提供更多不同的工作思路,这比你完全凭自己思考得到的工作方式要多
。
3.
写代码。
谨记,要写大量的代码。从根本上来讲,最好的学习方法就是实践。如果不写代码,你根本不能把(某种语言中)内在的东西学习透彻
。学习之初,可以从一些技术指南和图书中照搬一些尽量简单的程序。当然,这种照搬是要自己完全手工输入,而不是复制和粘贴,这两种之间的效果差别是很大的
。这种方法的主旨就在于,使知识内在化,并思考其用法,而不是盲目照抄。学习过程中,要时常查找新的
API 调用方法,
这其实是简单的事情。
最重要的是,要写一个你自己的程序,不管它是一个简单的游戏,或者是一个参与开源项目的程序,还是一个公为你自己使用的简单插件。用不同的方式来写程序,尽量尝试使用新的技术,新的技巧,新的设计方式。一定要让现在的项目比以往的项目更好。想要成一个优秀的开发者,这一点是核心。
4. 与其他开发者交流。
像
Apple,微软,Google
等大公司一样的新闻描述的一样,(与其他开发者交流)可以让你解决一些复杂的问题。虽然这并不能让你感觉到自己已经成一个团队或是社区的成员,但是这种方法可以让你接触到更多不同的想法。
不同类型的项目要求不同的设计方法,代码技术,开发流程和设计思想。如果你工作在一个小团队里,你不必与太多的人接触,只要在用户群会议中找到一些人(来讨论)即可。如果这样还不行的话,参与到在线论坛中与其他人讨论(这时你需要更努力地寻找高质量的讨论内容)。
6.
教会别人。
相对于仅仅读代码之类的工作,教其他人学习可以让你更深入地学习某个技术,这种方法有着非凡的效果。教会别人某个技术,同样也会让你更专注于这种技术,并且可以比别人更深层次地理解它。同样你也会面对一些问题。
“如果你不能向一个六岁的儿童解析清楚一个概念,那么其实是你并没有完全理解它。”Albert
Einstein说。
教学场景可以是无穷无尽的:与工作搭档一对一交流,休息碰面,非正式周会,学习茶会,教室,讨论发表会,等等。每周在相同理念开发者之间举办一次30分钟的非正式会议怎么样?每周,让几个人来就他们想要更深入了解话题,向大家传授这些技术知识,并且展开讨论。如果你知道你将要向团队成员们传授正学学习的知识,你是不是更想要了解这项技术的每个细节呢?
6.
收听网络电台。
如果你有空闲的时间,可以订阅网络电台节目。我现在最喜欢的编程节目就是 .Net Rocks。这个节目还会做一些视频节目,叫做
dnrTV 。这样会让你即时捕捉到最新最好的技术。一个人是不能学习到所有知识的,而网络电台刚是一个学习了解广泛知识的途径。
7.
阅读博客
。
博客远远比阅读者要多,但是其中有一些却是极其优秀的。我这里不并不是要推荐博客,因为网络上已经有了足够多的博客。这是与真正在开发你所喜欢和使用的软件的开者联系的好方法。
8. 学习新的语言。
即使你已经在
C(++,#) / JAVA 等语言上有很好的造诣,仍然有很多其他可以解决问题的编程语言。学习新的语言,是对你已有思维方式的挑战。这不仅仅是另一种语言,更是对思维的重新架构。
的确,所有的语言最后都会被编译成汇编程序,但是这并不意味着高级语言毫无价值。
9. 学习不正确的方式。
除了要学习应该怎么做,还要学习不应该怎么做。经常阅读 Dailywtf.com
,学习你并不知道的经验与教训。学习适当的面向对象设计方式,代码写作方式,和必须要写的代码等,是很好的方式,但是如果不细心的话也容易养成不良习惯。学习认识不正确的思路是负责项目开发至关重要的一环。
维基百科对很多觉的不正确方式有十分透彻的分类。
10. 要谦虚。
学习,意味着:
用更好的知识代替不完美的知识
增长你所不知道的知识
只有承认自己有所不足,才能有学习的动力。归根到底,就是谦虚
,不对吗?如果你开始认为你已经掌握了所有需要的知识,那么你就危险了。真正的学习是如饥似渴地追逐知识并使其内在化,这需要很大的努力。我们都知道这一点,但是要必须时常不断地提醒自己。
分享到:
相关推荐
以下这十个习惯将帮助你更有效地精通新的开发技术: 1. **设定明确的学习目标**:在开始学习新技术之前,明确你要达到的目标,比如理解基本概念、实现简单项目或解决特定问题。这样可以帮助你有方向地学习,避免在...
精通网络视频核心开发技术,剖析网络视频前沿关键技术
《精通JSP-Web开发技术与典型应用》的范例代码涵盖了广泛的Web开发知识点,旨在帮助开发者深入理解和熟练掌握JSP技术在实际项目中的运用。JSP(JavaServer Pages)是一种基于Java的动态网页技术,它允许开发者在HTML...
精通Linux内核:智能设备开发核心技术 本书概述了智能设备开发中Linux内核的核心技术和知识点,旨在帮助开发人员掌握Linux内核的工作原理和应用方法,适应不断发展的智能设备开发需求。 Linux内核是智能设备开发的...
《精通网络视频核心开发技术》由浅入深地讲解了visual c++在音频和视频领域的开发技术,并通过具体的实例来讲解其具体的实现流程。全书内容分为18章,详细讲解了使用各种软件和平台进行音/视频多媒体编程的技术,以...
《精通jsp-web开发技术与典型应用》是一本深入讲解JavaServer Pages (JSP) 技术及其在Web开发中的实际运用的书籍。作者张新曼以其丰富的教学和实践经验,为读者构建了一套全面且实用的学习路径,旨在帮助学生和...
《精通iOS开发 第7版》是一本深入探讨iOS应用程序开发的专业书籍,其归档文件包含了丰富的源代码和资源文件,旨在帮助开发者深入了解并熟练掌握iOS平台的开发技术。这一版本聚焦于最新的iOS版本,提供了全面的更新和...
精通iOS开发源码下载地址,这个本书简直太棒了,是我买过的性价比最高的一本书。
"SAP SAP开发自学入门到精通完整版HANA开发"提及了SAP HANA,这是一个高性能的数据分析平台。在SAP HANA环境中,ABAP开发者需要学习如何利用HANA的特性,比如列式存储、实时分析和计算视图,来优化业务应用的性能。 ...
精通网络视频核心开发技术.pdf
在IT行业中,C#是一种广泛使用的编程语言,尤其在数据库开发领域有着重要的应用。...不断实践和学习新的技术,如Entity Framework等ORM工具,以及最新的数据库访问库,将有助于你在C#数据库开发领域持续提升。
《编程大讲坛C#核心开发技术从入门到精通》是一部深入浅出的教程,旨在帮助初学者和有一定基础的开发者全面掌握C#这门强大的编程语言。本资源包含了一系列的实例代码、视频讲解和综合实例,是学习C#的理想资料。 C#...
《Kotlin从零到精通Android开发》是一本专为Android开发者设计的教程,...通过阅读《Kotlin从零到精通Android开发.pdf》,你将能够全面掌握Kotlin语言在Android平台上的应用,为你的Android开发之路打下坚实的基础。
编程大讲坛、坛坛是佳酿 用实用的方式,讲解实用的技术和项目实践经验 ...编程大讲坛:C#核心开发技术从入门到精通 管西京 ISBN 978-7-121-09043-1 印 次:2009年9月第1次印刷 定价:79.80元(含光盘1张)
《C#核心开发技术从入门到精通》是学习C#编程的重要参考资料,涵盖了从基础知识到高级特性的全面讲解。在这一部分,我们主要探讨的是第18章及后续章节的内容,这些章节通常会涉及更深入的C#概念和技术,包括但不限于...