`
yuejinya
  • 浏览: 12044 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

十个习惯让你精通新的开发技术

阅读更多
十个习惯让你精通新的开发技术

这篇文章,是从我的《高效开发人员的五个特征》一文中抽出的一个观点。从我自身的事业和习惯中,我考虑了很多方式怎么样才能有效地学习。

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. 要谦虚。

学习,意味着:

·                用更好的知识代替不完美的知识

·                增长你所不知道的知识

只有承认自己有所不足,才能有学习的动力。归根到底,就是谦虚,不对吗?如果你开始认为你已经掌握了所有需要的知识,那么你就危险了。真正的学习是如饥似渴地追逐知识并使其内在化,这需要很大的努力。我们都知道这一点,但是要必须时常不断地提醒自己。


  • 大小: 3.5 KB
分享到:
评论

相关推荐

    精通Eclipse Web开发 源码

    “实战篇”讲述了5个采用不同开发技术的实例,其中,详细地讲解了实例的分析、设计和实现的步骤。  本书内容循序渐进,实例丰富,从基础知识到工程的创建与实现,都是按照读者的学习习惯一步一步来实现的,开发步骤...

    大数据开发工程师的岗位职责.docx

    4、参与开发过程中相关新技术的研究和验证。 5.协助承担架构性的体系设计和改造工作,配合制定技术实施方大数据开发工程师的岗位职责全文共4页,当前为第2页。大数据开发工程师的岗位职责全文共4页,当前为第2页。...

    精通QTP——自动化测试技术领航

    第1章 测试脚本开发从零开始 5 1.1 自动化测试从零开始 5 1.1.1 什么是自动化测试 5 1.1.1.1 引言 5 1.1.1.2 自动化测试能做到什么及其优势,你心知肚明吗 6 1.1.1.3 自动化测试无法做到的事及其劣势分析 7 1.1....

    精通AngularJS part1

    《精通AngularJS》指出AngularJS诞生于Google,已用于开发多款Google产品。它是一套JavaScript前端框架,用于开发当下流行的数据驱动的单页面Web应用。其核心特性是:MVC、模块化、自动双向数据绑定、语义化标签、...

    Java技术手册(第6版)

    第一部分为涵盖入门介绍、语法、面向对象程序设计、JaVa平台、安全性、程序设计与文档制作习惯、开发工具等章节的“Introducing Java”,秉承著作者David Flanagan一贯的言简意赅的风格,精要的文字能够让读者以更少...

    JAVA学习资源1.0

    4.高效程序员的45个习惯 5.深入java虚拟机 6.阿里巴巴JAVA开发手册 7.Java核心技术 卷1 基础篇 8.Netty_in_Action 9.java性能优化 10.spring源码解析 11.java 8实战 12.Docker 实战 13.java高并发编程详解 14.nginx...

    Struts in Action中文版(PDF)

    并且书中好包含展示此书介绍的最好实践技术的几个示例应用程序。本书旨在帮助那些需要关于如何使他们的应用运行在Struts下面的实际和实战技术的专业技术人员。 开发者用Struts构建Web应用一般在其应用的各部分使用...

    python开发简历模板,包含工作经历、项目经验、证书、个人技能等

    python开发简历模板,包含工作经历、项目经验、证书、个人技能等 求职意向:Python工程师 广东省 邮箱: 手机号码: 教育背景 学校: 专业: 个人技能 1、精通JS,JQuery,熟悉http协议 2、熟悉Python语言...

    C#微软培训资料

    在本章中你将了解 Microsoft.NET 的概念 .NET 框架 C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 ...

    非常苛刻的java工作要求

    7、具备良好的编码风格和开发习惯,熟练掌握UML设计工具; 8、熟悉linux或unix操作系统文件系统以及常用命令; 9. 熟悉Tomcat等应用服务器的使用,熟悉LINUX操作系统,熟悉TCP/IP、HTTP等网络协议,掌握多线程编程,...

    网络安全防范意识.doc

    专家指出,从技术的角度看络是没有绝对安全的,一个防护体系光有产品是不 够的,日常工作学习中养成好的使用习惯也是不可或缺的。用户应该养成如下9个好习惯 。 1、是应该定期升级所安装的杀毒软件(如果安装的是络...

    网络安全防范意.doc

    专家指出,从技术的角度看网络是没有绝对安全的,一个防护体系光有产品是不够的, 日常工作学习中养成好的使用习惯也是不可或缺的。用户应该养成如下9个好习惯。 1、是应该定期升级所安装的杀毒软件(如果安装的是...

    课题:计算机网络安全与防范.doc

    2、养成规范良好的计算机使用习惯 三、教学难点 杀毒软件的使用 四、教学内容 同学们:随着电脑家庭化的日益盛行和互联网技术的日益发展,互联网已经成为青少 年学习知识、获取信息、交流思想、开发潜能和休闲娱乐的...

    婚纱摄影网站java源码-Resume:DanielPiron-软件配置经理、分析师、工具开发人员

    Bash,并且精通跨平台开发。 技术经验 操作系统- Linux、MacOS、Solaris、Windows 语言- C++、C、Python、Bash、Perl、Javascript、Java、PHP、SQL、Visual Basic、MOS 6502、x86 汇编器、MMX 数据库- Oracle、...

    MFC Windows程序设计(第2版修订版)--源代码

     然而,向导代表了Windows编程的新法则,它们是你、我及所有人都必须习惯的重要事物。但令人遗憾的是,VisualC++开发小组没有给我们一个真正的向导,而只是一个冒充向导的玩具。在他们能够做到以前,我们得习惯现有...

    MFC Windows程序设计(第2版修订版)--详细书签版2卷

     然而,向导代表了Windows编程的新法则,它们是你、我及所有人都必须习惯的重要事物。但令人遗憾的是,VisualC++开发小组没有给我们一个真正的向导,而只是一个冒充向导的玩具。在他们能够做到以前,我们得习惯现有...

    MFC Windows程序设计(第2版修订版)--详细书签版1卷

     然而,向导代表了Windows编程的新法则,它们是你、我及所有人都必须习惯的重要事物。但令人遗憾的是,VisualC++开发小组没有给我们一个真正的向导,而只是一个冒充向导的玩具。在他们能够做到以前,我们得习惯现有...

    从汇编语言到Windows内核编程

    这一部分包括指令分析、硬件基础知识、内核Hook的实际开发练习,以及将完成一个用到内核Hook的有趣的实例,这个实例有助于计算机阻挡各种病毒和木马的侵袭。 此外,本部分遂包括特殊的一章,涉及如何巧妙地编写代码...

Global site tag (gtag.js) - Google Analytics