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

下文转载自http://news.cnblogs.com/n/511465/,作者是 码农网 – 小峰 。

一个优秀的程序员就是那种即使是过单行道都要往两边看的人。——Doug Linder

  作为一个在 IT 行业的软件程序员,每天促使我去上班的动力就是对编程的乐趣和激情。但是为了激发乐趣并获得永恒的快感,我们需要学习和遵守一些基础知识以成为一名优秀的程序员。

  当然我总结的这些东西没有那么神,你说你要想学了之后就一定可以成为优秀程序员,那是不可能的。这只是从我的经验角度出发提供的一些捷径。对于优秀程序员的定义,此处可以理解为能开发出超棒的 IT 解决方案并且能促进行业整体发展的程序员。

  1. 掌握基础知识

  不管任何行业和任何工作,概念的理解都是成功的关键。除非你有强大的概念基础,否则就不可能成为一名优秀的程序员。核心概念的理解有助于你用最 佳的方式设计和实施解决方案。如果你觉得你现在还没有好好掌握关于核心计算机科学和编程语言的特定概念,那么现在回过头去重新学习这些基础知识犹未晚矣。

  2. 给自己写的每个代码集都贴上标签(how,what)

  我发现区分程序员优劣的一条很明显的分割线就是,是否有这个热情去知道“what and how”。有的程序员对于自己的代码是如何执行的以及执行结果等知道得一清二楚。我也理解有时候因为时间紧迫,我们不得不在只知道这些代码可以完成工作的 情况下就立刻进行下一步。虽然这对解决问题而言,似乎是另一个方向的话题,但是作为一个程序员,我们应该尽可能地深入研究问题以达到最高水平。相信我,随 着时间的推移,你会在不知不觉中养成这个好习惯,然后受益无穷。。

  3. 通过帮助他人从而学到更多

  可能我们中的大多数人只有在自己需要帮助的时候才会上论坛和群。有一条区别程序员是否优秀的分割线就是,优秀者经常会去这些地方以帮助他人。而 且他们在帮助别人的同时,自己也能学到很多东西。如果是在一个团队中,也应该互相帮助。相信我,理解别人的问题背景、研究并提出解决方案会让你学到的更 多,成长的更快。

  4. 代码要写得简单、易懂、有逻辑

  正如在生活中其他方面一样,KISS(Keep it simple and short)规则同样适用于编程领域。代码要有逻辑,避免过于复杂。有些人之所以要将代码写得那么复杂只是为了证明自己有写复杂代码的能力。但是我的经验 告诉我,简单且逻辑化的代码才能有效工作,不但问题少而且更易扩展。我记得有这么一句话:

好的代码本身就是最好的文档。在你要添加注释之前,先问问自己,“我怎么改进代码,才能不需要写这个注释?”——Steve McConnell

  5. 多花时间分析问题,后面就可以少花时间去修复

  多花点时间用来理解和分析问题,设计出最优的解决方案,然后你会发现接下来的工作将事半功倍。设计过程并不意味着一定要使用建模语言和工具,也 可以很简单,例如抬头仰望天空,然后在脑子里来一场头脑风暴。那些一拿到问题就习惯性去噼里啪啦写代码的程序员,最后拿出来的成果往往会与要求的不同。

你如果在洗澡的时候脑子里还没有程序的整体结构,那就意味着还没有做好开工写代码的准备。——Richard Pattis

  6. 第一个分析审核自己的代码

  虽然有点困难,但是在其他人发现之前自己先知道问题的所在,能让你学会如何写出“接近于无 bug”的代码。自己对自己的代码审核要公正严谨,也要能毫无犹豫地接受他人的审核。近朱者赤,与优秀的程序员一起工作,积极听取他们的反馈,必然也会帮 助你成为一名优秀的程序员。

  7. 面对日新月异的技术千万不要沮丧

  最近一段时间在 IT 行业里,我碰到的很多人——要么念叨着对他们的工作失望了,要么甚至于已经辞职在找新工作了——都一致表示,他们想要学习并使用最新的技术。对于这个愿望 我认为可以理解,但是这个词“最新的”,我觉得不甚正确。我们每天都能听到有人在说“现在又出来什么新的工具、API、框架和其他方法等”可以使得编程工 作更加的简捷。这在技术领域其实一直在发生。真正需要我们去关注和理解的是核心和基本技术的转变,在这个基础上再去看新的框架、工具和 API。举个例子,在很多 Java 公司可能每隔一周就会换上新的 web 框架,但是其基于客户端—服务端通信模式的需求方式、MVC 模式、filters/servlets/JSP、资源绑定、XML 解析等核心概念依然是相同的。所以,与其时刻担心框架和工具的变化,还不如花点时间好好学习这些核心概念。相信我,在理解这些核心概念的基础上,我们才可 以更快地掌握新的框架、工具和 API。

  8. 应急措施并不能长久有效

  很多时候,软件程序员可能会采取应急和变通的解决方案(或因为时间紧迫,或缺乏对问题的深刻认识,或技术经验不足)。但是,这些应急方案会破坏 代码,导致其后期很难扩展和维护。我能理解,有的时候这种情况真的很难避免,但是就像我们都应该讲实话一样,你讲了谎话,那就得知道谎言总有戳穿的那一 天。

  9. 阅读文档

  优秀程序员的基本习惯之一就是阅读大量的文档,技术指标、JSR、API 文档、教程等等。阅读文档为我们用最好的方式编程打下了必需的基石。

  10. 学习他人的代码

  我非常喜欢与那些在 IDE 里有 java 源代码的优秀程序员交流互动,阅读/参考他们的代码。因为这么做不但能了解基本知识,还可以学会写项目的新方法。阅读和参考一些可靠和已知的开放源码或者自己的高级代码,也有助于我们更好地编程。

  最后一点,前面没有列进去的:不要和别人比

  俗话说,人比人,气死人,拿自己与别人作比较只会导致负面情绪,并演变成不良竞争。尺有所短寸有所长,每个人都有自己的长处和短处。我看到过很多次一些所谓的特别牛叉的程序员也会犯一些很愚蠢的错误。所以,剖析自己,列出不足之处,努力改进自己,才是正途。

  编程是一种真正的乐趣,欢迎乐在其中。

“任何一个傻瓜,都写得出能让计算机理解的代码,但是,优秀程序员写出来的代码,能让全人类理解。”——Martin Fowler

  译文链接:http://www.codeceo.com/article/10-effective-way-good-programmer.html

  翻译作者:码农网 – 小峰

0

0

来自: www.codeceo.com

时间: 2024-10-10 14:39:10

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

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

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

优秀程序员的10个习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境. 就算是你有了10年以上的程序员经历,你也得

成为优秀程序员的10个有效途径

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

优秀程序员的10种习惯

1.如何你不知道你在讨论什么,那要求做到精确就成了苛求. 要问为什么需要做这个 3.简约(Simplicity is beauty) *软件的本质:解决复杂度 *做减法 *核心+精炼 *表达业务逻辑 *分层机制 *简约且有生命力的代码 4.及时修复问题,莫等问题变大到难以修复 5.不要重复造轮子. 6.设计是把变化和不变的东西分离.

<转载> 优秀程序员必备的24条好习惯

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

优秀程序员的这些秘诀,你知道几条?【转载】

有国外网友在 Quora 上发帖提问:优秀程序员有哪些秘诀? 本文摘编了两个高分回复,一起来围观.欢迎大家在评论中补充你眼中优秀程序员的特点. Jens Rantil 的观点:2.9k 顶 大多数情况下,使用继承从长远看来是一个很糟糕的面向对象设计.它影响了代码的重用性和可测试性.推荐使用组件和接口的方式替代它. 避免过早引入接口,除非你能够完全控制它.“过早接口”同样会导致设计问题. 深度代码嵌套(both intra-function and inter-function) 1 ) 难于维护

程序员老司机谈到的一位优秀程序员应该具备的十个优秀的习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境.就算是你有了10年以上的程序员经历,你也得要

给新程序员的10条建议

(注:本文曾发表于<程序员>201509A期) 我最开始不是做软件开发的,是一个售后技术支持工程师,你懂的,就是公司卖出的设备坏了,我就到现场去鼓捣两下,换个零件,重启下系统什么的.后来我转行做软件开发,颇经历了一些曲折,遇到了很多实际的困难,再后来我成了程序员,干上了手艺活儿,就这么一路过来了,还出了两本书,<Qt on Android核心编程>和<Qt Quick核心编程>. 后来我也和一些刚入行的开发人员共事过,有的朋友可以很快度过适应期,有的朋友则会花费比较长的

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

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