如何成为一名优秀程序员

学了很久的Python一直原地打转,不知道如何学下去,这是很多新手都会遇到的问题。

我记得第一次接触 Python 是 2011 年,在逛网站的时候,无意中看到一篇介绍 Python 的文章,觉得这门语言很有特色,于是想系统地学习一下。怎么学呢,市面的上书籍琳琅满目,一开始你可能不知道看哪本,有两个方法,第一个是去豆瓣看书评,好书口碑一定不错,第二个办法就是问有经验的人,他们能给你最实际的意义。我的建议是入门书最好是能在一周到两周内能完成的,那些大部头书就不适合拿来入门,可以放到后面。入门阶段你基本上就是跟着教程一边看一边写,把书里面的实例全部自己敲一遍,甚至两遍三遍。

博客也是一种学习方式,但是不够系统,真正要全面了解一门语言,不是几篇文章能讲清楚的,况且,博客的严谨度没有书籍那么高。所以,博客只能是作为你扩充知识一种的渠道。

学完基础语法后,很多人就停在这里不知道接下来学什么?其实这里面有个误区,你的目的不是为了学习而学习,虽然说我们要做终身学习者,但是我们学习的目的是为了学以致用,接下来,你要琢磨着怎么用你所学到的东西来解决某个问题或者实现某样东西,例如用程序自动完成工作中的一些繁琐任务,或者做个记账本之类的记录自己每天的支出。畢卡索有句名言:Good artists copy, great artists steal,所以,先从参考借鉴别人好的东西开始。

这个时候你能看懂部分别人写的代码,自己也能写些简单的代码,接下来,你要去找完整的练手项目来做,没有什么比动手更有效果了,我记得当初学完 Python 的基础教程后看的第一个实战教程就是 Django Book(现在内容已经过时),这是教你手把手写个网站的教程,写完之后你就知道完成一个项目应该是怎样的,会涉及哪些东西,接下来你就可以按照这个思路写自己的第一个作品。

去×××这些练手项目呢?知乎有个问题「Python 的练手项目有哪些值得推荐?」这里面虽然推荐了很多项目,但是都不够系统、完整。最好的教程应该是手把手教你,有代码,有讲解的那种。如果只是纯代码的项目,这个阶段对你来说还是有困难的,因为你不知道思路。所以,像那些500lines这样的项目并不适合刚入门的你,还是去找完整的教程吧。比如在线教程:http://study.163.com/course/courseMain.htm?courseId=1004091002&share=2&shareId=1025897964当然你可以去买些纸质的书籍,但是实战类的教程有个缺点就是内容很容易过时。639584010这是我的Python学习交流qun,欢迎各阶层的加入。

在学习的过程中遇到问题怎么办?互联网这么发达的今天,一定有办法找个问题的答案,因为你遇到的问题别人也遇到过,你唯一要掌握的就是如何用 Google 去找答案,虽然用会百度也能找到答案,但是我们更倾向于找那些能为我们节省时间的工具,显然百度并不是。

到此,你可能已经能独立完成一些简单的项目了。接下来你需要回过头来继续学习,看一些进阶的书籍,比如 Python Cookbook,流畅的Python,Python学习手册、Effective Python、Python tricks 等等。除了Python相关的,你还要去了解数据库知识,网络知识,系统知识,算法知识。当你意识到这些东西都要学了之后,你已经具备成为一名优秀程序员的潜力了。

除了看书,还有看别人写的代码,看那些优秀的开源代码,向高手学习。思考代码为什么这么写?有什么好处?是不是最佳写法?看源代码的好处可以让你更专业。如何看源代码?看那些在你项目中使用过的框架和库,因为看源代码必须是建立在你已经知道怎么使用的基础之上,否则看了也是一头雾水。大型的框架不建议看或者有选择性的看,因为大项目是经过很多年不断迭代演进过来的,你很难短时间内把握作者的思想。与此同时,继续实践,改进你的项目,使之更像是专业人士写出来代码。

不断养成多思考,勤记录,乐于分享的习惯,学习是一辈子的事,你学的越多,不知道的越多,又驱使你去学更多的东西。

原文地址:http://blog.51cto.com/13719825/2153545

时间: 2024-10-01 02:48:10

如何成为一名优秀程序员的相关文章

优秀程序员应该具备哪些素质?

优秀程序员应该具备哪些素质? 你可以不聪明,但是你绝对不能不用心. --<女人公敌> 程序员求职是本是一件只要"郎有情女有意",一拍即合的事情,可是企业与求职者却总是看不对眼.聊不到一块去,进而导致IT市场上总是会出现结构性失衡的现象.一方面,社会每年培养大量的计算机相关专业毕业生,他们却找不到好的工作,但另一方面,企业却招不到好的程序员.据不完全统计,大学生里面大约有23%的人是学习计算机.通信.电子相关专业的,都可以从事程序员相关工作,也就是说全国每年大约有160 万准

优秀程序员必备的23条好习惯

这一点错,那一点错,错到一起就是大错.--<我是特种兵之利刃出鞘> 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究组织进行的综合社会调查,公布了"十大最痛苦工作"排行榜,其中IT主管成了最让人痛苦的职业.程序员如何才能让自己的"痛苦"的职业不那么痛苦呢? 世间少有天才,所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了.所以,对于绝大多数

成为优秀程序员的10个有效方法

一个优秀的程序员就是那种即使是过单行道都要往两边看的人.——Doug Linder 作为一个在IT行业的软件程序员,每天促使我去上班的动力就是对编程的乐趣和激情.但是为了激发乐趣并获得永恒的快感,我们需要学习和遵守一些基础知识以成为一名优秀的程序员. 当然我总结的这些东西没有那么神,你说你要想学了之后就一定可以成为优秀程序员,那是不可能的.这只是从我的经验角度出发提供的一些捷径.对于优秀程序员的定义,此处可以理解为能开发出超棒的IT解决方案并且能促进行业整体发展的程序员. 1.掌握基础知识 不管

优秀程序员必备素质

程序员(英文Programmer)是从事程序开发.维护的专业人员.一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国. 作一个真正合格的程序员,应该具有的素质. 1:团队精神和协作能力 团队精神和协作能力是作为一个程序员应具备的最基本的素质.软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程.独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质.可以毫不夸张的说这种素质是一个程序员乃至一个团队的安

优秀程序员无他,善假于物也

运用一门程序设计语言对大多数程序员来说是小菜一碟,但是更上一层楼成为一名专家级的软件开发者,恐怕目前还是大多数人的梦想.<程序员的思维修炼>一书中将程序员分为5个层级:新手.高级新手.胜任者.精通者.专家.根据作者的调查研究结果,在这5个层级中,大多数的程序员属于高级新手.而且居于这个层级的程序员从入行1.2年的到工作10来年都大有人在. 身为一个程序员,如何才能尽快的突破自身的瓶颈,得到快速的提升那?这可真不是三言两语可以说清楚.本人09年毕业投身软件行业,2012年初离开工作了三年的公司A

&lt;转载&gt; 优秀程序员必备的24条好习惯

<转载> 优秀程序员必备的24条好习惯 转自 优秀程序员必备的23条好习惯 ,But add some my comments of TerryXia in Green. 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究组织进行的综合社会调查,公布了“十大最痛苦工作”排行榜,其中IT主管成了最让人痛苦的职业.程序员如何才能让自己的“痛苦”的职业不那么痛苦呢? 世间少有天才,所谓天

作为一名新手程序员该怎么成长?

作为一名开发者,自己既笨又没有准备,被老板知道了,我就要被炒鱿鱼了-作为一名新手程序员在刚刚进入到工作领域的时候,经常会有这种想法,这种想法会打击自己的自信心,特别是涉及到写代码的时候. 下面我要介绍一些关于新手开发人员可以提升自己的职业生涯和前景的关键策略,并且能够在工作期间保持一种健康的心态. 无论是你正在智通人才网找你的第一份工作,还是正盯上了潜在的晋升通道,在一定的程度上都需要跟其他开发者竞争,为了可以从中脱颖而出,下面这些关键的步骤可以帮你迈向成功. 1.找一种你喜欢用到工作中的语言.

[转载]成为优秀程序员的10个有效方法

下文转载自http://news.cnblogs.com/n/511465/,作者是 码农网 – 小峰 . 一个优秀的程序员就是那种即使是过单行道都要往两边看的人.——Doug Linder 作为一个在 IT 行业的软件程序员,每天促使我去上班的动力就是对编程的乐趣和激情.但是为了激发乐趣并获得永恒的快感,我们需要学习和遵守一些基础知识以成为一名优秀的程序员. 当然我总结的这些东西没有那么神,你说你要想学了之后就一定可以成为优秀程序员,那是不可能的.这只是从我的经验角度出发提供的一些捷径.对于优

优秀程序员必备十大习惯

想成为一个优秀的软件开发人员,在今天,你该怎样发展你的职业生涯?这个是我总结的优秀程序员必备十大习惯.按照这些技巧和规则,你可以改善你的现状,由一个普通的程序员,成为一名优秀的程序员. 学会学习 作为开发者,就算是你有了3-5年的工作经验,你还是需要不断地学习,因为你在计算机这个充满创造力的领域,每天都会有很多很多的新事物出现,你需要跟上时代的步伐.你需要去接触新的程序语言,了解正在发展中的程序语言,以及一些编程框架.还需要去阅读一些业内的新闻,并到一些热门的社区去参与在线的讨论,这样你才能明白