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

  ">优秀的程序员是在穿过一条单行道的时候还会往两边看的人。

  作为一个IT行业的软件程序员,每天驱使我们日复一日的辛勤工作的,是来自我们对编程的兴趣和激情。但是要让编程变得始终有趣,我们必须学会坚持某些成为优秀程序员的基本原则。

  我并不是要写出一些咒语,你照着执行就可以成为一个优秀程序员了。我的目的是想记录下我学习到的和用过的一些有用的经验,它们帮助我获得比较好的结果。对于优秀程序员是没有明确定义的,这里我们指的是那些创造出了优秀IT解决方案的以及帮助这个行业增长的那些人。

  0. 掌握基础

  对于任何行业任何工作来说,融会贯通是获得成功的关键。一个人想要成为优秀程序员,就必须有坚实的基础。核心理念的理解会帮助你用最好的方法设计和实施出最完美的方案。如果你感觉到不能掌握核心的计算机科学或者某个编程语言的知识点,现在开始回顾基础一点都不晚。

  1. 开始为你写过的代码贴上标签(怎么做,做什么)

  我发现优秀的程序员和普通程序员之间有一条明显的分界线,优秀程序员渴望深究每行代码做了些什么,以及如何实现的。有那么一小群人,他们一定要弄懂每 一行代码。我知道如果时间非常紧张的时候,我们经常不能够遵循这个原则,仅仅写出些代码,知道它实现了需要的功能。如何处理这种情况又是另外一个话题,但 是作为一个程序员,我们经常要尽可能深入探索。相信我,随着时间的推移这会变成一个习惯,之后每次你都会不知不觉的这样做了。

  2. 帮助他人,你可以学到更多

  许多人都有个共同特点,只有当他需要帮助的时候,他才会求助于论坛或者群。优秀程序员不同之处在于他们会经常浏览论坛去帮助他人。相比较于靠别人帮助 解决问题,他们帮助他人让自己学到更多。在一个团队中也是一样,帮助他人解决问题收获更多。相信我,了解他人的问题,思考并最终提供解决方案吧,你会比之 前学到的更多。

  3. 写简单易懂,有逻辑性的代码

  正如KISS原则(保持短小精悍)适用于生活的方方面面一样,它也适用于编程。尽量写有逻辑的代码,避免复杂化。有时人们写复杂的代码仅仅是为了展示 他们有能力写出这样的代码。我的经验告诉我,简单而富有逻辑的代码非常的好,会产生的问题更少,也更容易扩展。我记得一句话:

  好的代码本身就是最好的文档。当你想要加注释的时候,问问你自己,“我能如何改进我的代码,才能不写注释也读得懂呢?”

  4. 花更多的时候分析问题,你将会花更少时间去解决问题

  花更多的时间理解和分析问题,然后再设计方案吧。你会发现剩下的事情很容易了。设计不是说要用建模语言和工具,可以是仅仅看看天空在脑子里构思。那些在遇到问题就开始敲代码的人往往会最终偏离需求。

  如果你洗澡的时候不能理清整个程序的结构,那么你还没准备好开始编程。 – Richard Pattis

  5. 成为第一个检查你的代码的人

  虽然有一点点难,但试着在其他人修改你代码之前修改它,随着时间的推移,你会写出几乎没有bug的代码。对你的代码做没有任何偏见的检查,也不要犹豫让其他人来检查你的代码。和其他优秀的程序员一起工作,接受他们的意见能够帮助你也成长为一个优秀的程序员。

  6. 不要迷失在快速更迭的科技世界

  在IT行业中,我经常遇见许多人,他们对现在的工作不满,甚至离开它去追寻新的工作,理由是因为他们想要学习最新的科技。我们每天听到的都是新工具、 接口、框架,能让程序更简单,速度更快。这在科技世界中司空见惯并会一直如此。但是最基本的最核心的科技变化比那些框架、工具和接口的变化小得多。就像大 海,大海表面上波涛翻滚,但大海深处却相当平静,而那里才是水生生物生存的地方。所以将你自己置身于核心技术的大海深处吧。举个例子,在Java企业级应 用中,每个星期都会出现新的框架,但是核心的技术是不变的,譬如基于客户端-服务器端的请求,MVS模式,filters/servlets/JSP,数 据源绑定,XML解析等等。所以要花功夫去学习核心概念,而不是去担忧日新月异的框架和工具的出现。相信我,有了核心技术的基础,你会发现学习新的框架, 工具以及接口变得更容易了。

  7. 应急方案不会持续很长时间

  很多时候软件师们会采用应急方案(可能是时间不够,可能是问题理解不透彻或者是缺少经验)。但是这样往往带来的结果是,代码混乱,缺乏可扩展性和维护 性,后来浪费了更多的时间。请在你清楚整个方案后再开始实施。我知道有些情况下应急方案无可避免,就好像,一个人应该说实话,但是你在某些情况下不得不说 谎。

  8. 阅读文档

  阅读很多文档是作为优秀程序员的必备习惯之一。可能是产品说明书、JSR、API文档、教程等。阅读文档帮助你获得必要的基础知识,写出更好的代码。

  9. 你可以学习他人的代码

  我接触过一些优秀的程序员,他们在IDE里面一直放着JAVA源代码,并经常在日常工作中阅读和查阅。他们这样做不仅是满足求知的渴望,还从中学习了 如何写优秀的程序。阅读和查阅那些你认为可靠的出名的开源代码或者比你资深的程序员的代码,你会写出更棒的程序。(扩展阅读:《阅读优秀代码是提高开发人 员修为的一种捷径》)

  最后,我想说的但没有将其列在上面的:不要和他人比较

  和他人的比较往往会造成消极的情绪和不健康的竞争。每个人都有他的长处和短处。扬长避短很重要。我也经常看到一些基础很厉害的程序员范很低级的错误。所以仅仅和自己比较,列举你自己需要改进的地方,并持续改进它。编程是很有意思的事情,享受它吧。

  任何一个傻瓜都能写出计算机能理解的程序,而优秀的程序员却能写出别人能读得懂的程序。

时间: 2024-09-20 00:34:07

成为优秀程序员的十个有效方法的相关文章

优秀程序员的十个习惯

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

优秀程序员素质培养

踏入程序员这个行业,你就注定要学习一辈子,新技术层出不穷,技术体系更新快速,这是和其他行业最大的区别之一.所以,如果你想在这个行业混出点样子,那么请你随时做好学习的准备,如果你想成为优秀的程序员,那么一定要有正确的学习方式,下面推荐几条程序员的最佳学习方式,希望能帮你事半功倍. 书籍和期刊是必不可少的 无论你是新手菜鸟还是高级程序员,你都离不开书籍,当然我们要有选择的读书,尽量选择一些经典的书籍来看,如果你英文水平比较好,那么读一些老外撰写的书籍是最好不过的了.书籍能让你在繁杂的互联网上总结出一

那些优秀程序员身上的共同特质

你是否发现,在我们身边的那些优秀程序员身上总是能找到一些共同的特质,这些特质并非与生俱来,但却逐渐在他们身上留下深深的烙印,这也使得他们变得与众不同,更成为我们心目中的佼佼者. 至少深入理解一门编程语言 学习编程和学驾驶很像,你很容易就能学会驾驶,比如,经过一个月的驾校培训,你就能获得驾照,但要真正成为一名优秀的司机,却必须经过长时间的驾驶实践才行,这将帮助你在头脑中形成一套完整意识体系以应对驾驶中所遇到的不同情况.编程也是一样,当程序员们作出那些优秀的程序设计时,看似自然,但它的背后却是程序设

具备这些特性 说明你是个优秀程序员

编程是个很复杂的玩意,但是成就优秀程序员的很多因素和我们在学校中早期学到的相差无几.本文灵感来源于Robert Fulghum的<All I Really Need to Know I Learned in Kindergarten>. 1.分享 尽可能地使用开源,并且如果有能力的话也可以把自己的成果分享给大家.整个社会的智慧结晶肯定比一些大公司自管自闭门造车要好. 2.公平的心态 不要以为你的选择就是唯一能奏效的,试试其他技术.框架.方法和建议,也许其他的选择比你原先的好也未可知.要用开放的

避免成为优秀程序员

我曾经和我认为优秀的程序员一起工作,但是他们是真正优秀的程序员吗?是什么让他们如此优秀?(或者,他们只是普通的程序员?) 最近读到Mark Pearl博客里一篇名为<Programming, a Subset of Writing>的文章,其中的观点让我十分推崇,尤其是下面这段: 优秀程序员和普通程序员最大的区别在于,优秀的程序员会使用整洁.易于理解的方式进行编程,任何不必要的复杂代码均不会出现.和我工作过的那些真正优秀的程序员总是尊学这样的编程步骤:写代码.重构.进一步重构. 就像日常生活技

可以使你成为更优秀程序员的5个好习惯

我们都希望能够在我们所做的事情中得到成长,在WEB开发领域,我们花费时间最多的就是编写代码.这可能包括HTML, CSS, JavaScript, PHP, Python, ActionScript或者任何其他你构建WEB站点时选用的语言. 这篇文章中,我们将分享一些实际的步骤,使你可以扩充技能,成为一个更优秀的程序员.我们提出五个不同的生活习惯,它们可以使你在你所从事的领域变得更加优秀. 1. 一个时间段内只专注于一种类型的语言 如果你正在设计或开发网站,你将需要同时熟悉多种不同的语言.你可能

优秀程序员的标准是什么

无数的人问过类似的问题,怎么样才能做一个优秀程序员?在回答这个问题之前,首先得明白什么是优秀程序员,这样才有方向和目标,可是这事情太主观,可能各人的标准千差万别,不谈那些传奇性的独自一人做出伟大事情的特例,也不谈什么上天入地,上帝大牛的诡论,以下是广泛比较认可的,在通常的项目开发中,一个优秀程序员的标准. 解决问题的能力 在项目开发中,一个程序员的能力等于其解决问题的能力.假如想有个尺度来衡量这个能力的话,一个程序员的能力可以用能完成任务的规模和难度来衡量. 因为难度上不好那么简单的划分,并且在

有关程序员的十个预言

作为程序员,我们总是身处于如万花筒般变化无常的技术世界里.我们可能也是那群能够最早感知到科技变化所带来巨大影响的人.然而,面对这一波又一波向我们袭来的技术变革,我们是否也能从中窥见一丝规律,从而使自己更好地应对未来呢?让我们打开脑洞,预测一下未来10年,程序员这个职业可能发生的变化. 程序员将变得更加全能 许多文章或艺术作品中将程序员的未来描绘得过于科幻或戏剧化,而基于我们看到以及正在发生着的现实,有一点却是不争的事实--程序员将变得更加全能.如果你是一名iOS程序员,你一定能感受到最近几年市场

优秀程序员与普通程序员在行为上的差别

优秀程序员的行为: 拿到任务,就开始仰望星空或天花板上那盏高悬的电灯棒,状如老僧入定 忽而皱眉,忽而展颜一笑,忽而手舞足蹈,忽而在纸上指指戳戳,忽而口中念念有词,忽而长吁--感觉有点神经病啊 桌子上摆的是代码大全.设计模式.敏捷实践之类的书籍,并且没有灰尘 chrome或firefox的书签栏里分门别类,类别多于10个,8个以上是技术相关的 容不得破窗户,看见别人的烂代码就想改过来 随手就能在白板上画出软件的流程图或者时序图-- 项目做完了,别人在打游戏.看视频.忙着回复QQ.向剁手族前进,他在