天天看点

JIMMY ZHANG告诉你快速提高自己的开发能力

jimmy zhang 写的文章太好了,通俗易懂,深入浅出,以前模棱两可的问题现在终于云开雾散了

正如anytao所说:

来龙去脉,深入浅出,一个看似简单的问题,蕴含了丰富而又深刻的逻辑,轻松读来,收获的不仅仅是本质,还有更多的思考。。。

确实是这样的,唯一比较遗憾的是 由于 jimmy zhang工作太忙 导致一本经典的书 .net之美 无限期拖延了,真的非常遗憾,好在作者把里面有些章节都写在了博客里面。我现在整理了.net之美这本书的 目录,并按照作者博客正在整理 相关的内容,对于作者没有写的文章,我会用自己微薄的知识加上强大的博客园来逐步完善,希望园子里的朋友多提宝贵意见,我虽然无法达到子阳的技术,但是整理下来也算是对自己有个交代了。

下面贴下 子阳遵循的学习方法:

1、读书。我觉得读书还是目前获取知识的主要来源。但是看书是讲究方法的。看书最忌讳的就是手头捧着好多本,一会儿看看这本一会儿看看那本,最后的结果往往是每本都只看了开头几个章节,或者每本都只是匆忙浏览了一遍。到后来的感觉就是似懂非懂,感觉知道了会了,但是一到写代码的时候又发现无从下手。还有一个就是只看不练,看书的过程当中应该是有选择的将起码一半的代码都敲过、运行过,在这个过程中你会悟到一些更深的内容。

2、技术(或者说知识)大体上分为两类,一类是必须要掌握的,一类仅是需要了解的。所以读书也是有选择的,并不是每本书都应该一页一页地精读。合理的方法是选一到两本自己领域广受推崇的书认真钻研,反复地看(我认为一本好书看三遍的效果大于三本好书看一遍)。而其他的需要了解的知识则可以泛泛一看就行了。

3、专题研究。实际工作中你会发现大部分的书讲述的内容都是介绍性质的,也就是说都是“hello world”类的(当然也有就某个主题深入研究的书,但问题是你没有精力将每个主题都这样去钻研,也无法预见你未来可能需要对哪个主题深入了解),到实际场景中就会复杂的多。这个时候就需要针对你所处的问题进行专项的深入研究。这里最有效的方式是借助Google(英文)就你的问题搜索,我相信一定会有大量深入的文章可供参考。为什么我不说百度?可以这么说,国内对于版权的概念实在是太匮乏了,所以当你用百度搜一个主题的时候,结果往往是“一篇独大” -- 前面几页几乎转载的都是同一个内容,收效甚微。使用Google(英文)搜索,一般都可以找到一大票的相关主题,而且几乎没有重复转载的,更重要的是你会发现老外做事是非常认真的,一个主题往往讲述的很透彻,让人感觉就是生怕你不懂(这也让我明白到为什么中外有这么大差距)。唯一的要求就是你的英文水平了(可见英语对于程序员的重要性)。

4、实践。如果你没有看书,你的思维是狭窄的,当遇到一个问题的时候时,你不知道如何解决,或者你只知道用既有的解决办法而想不到有什么更好的解决途径。在平时工作中,我觉得多思考是最重要的。有不少人仅满足于完成工作任务,他们认为他们现在所掌握的技术足以应付这项工作,所以对于该任务,每次都在使用以前用过的方法在解决,而这种实践对于自己的提高是没有任何帮助的。当你发现你在做的一件工作与你不久前做的一件工作性质相同时,不要着急动手去解决它。结合你所学到的知识,思考有什么更好的办法来解决。即使你对这种新方法或者新技术并不熟练,也要尽量去尝试使用,多试几次,当你成功应用的时候,你又多了一项技能!

5、站在较高的层次去看待系统。不要仅仅限于开发应用程序的角度,而应该多注重系统的体系结构或者说应用程序的构架。开发一个应用程序是很容易的,但开发一个框架是很困难的,应该多注意模块、接口之间的关系,设计模式的应用,而不是某个方法的具体实现。最重要的是你永远要思考它有什么不足、有什么优点、有什么值得改进得地方。

6、以上5点的无限循环。

所有我认为重点的,我都标红加粗了。

以上内容希望对你有帮助。