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

摘要:
一个想成为优秀程序员的人必须有坚实的基础。优秀程序员的区别在于他们经常浏览论坛来帮助他人。与其他优秀的程序员合作并接受他们的意见可以帮助你成长为一名优秀的程序员。8.阅读文档阅读许多文档是一个好程序员必备的习惯之一。任何傻瓜都可以编写计算机可以理解的程序,而优秀的程序员可以编写其他人可以阅读的程序。一个好的程序员是一个在过单行道的时候两边都看的人。

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

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

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

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

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

免责声明:文章转载自《十个让你成为优秀程序员的有效方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇百度大脑远场语音开发套件评测—快速上手,超赞语音交互体验[NOIp 2016]愤怒的小鸟下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux基础知识(一)

    本篇主要介绍Linux操作系统相关知识以及其常用命令等。 一、操作系统的基本知识   一般而言,现代计算机计算机系统是一个复杂的系统,故若程序员需要掌握该系统的每一个细节例如如何通过代码去调用音响等这些事情,那可能不再编写代码了,这种情况会严重影响程序员的开发效率。 并且管理这些部件并加以优化使用,是一件极富挑战性的工作,于是,计算安装了一层软件(...

win8中如何禁用屏幕旋转的快捷键

程序员通常会使用ctrl+alt+方向键 里编辑代码,特别对于使用eclipse的程序员,更是如此,但是win8却把这一快捷键给占用了,很不爽,如何办,很简单.直接上图: 2.但是发现禁用之后并没有解决问题,该系列快捷键还是不能被VS或eclipses使用,因此必须更改这些快捷键,才可以达到目的.在桌面空白处右击,选择:->图形属性->选项和...

从程序员到项目经理(11):每个人都是管理者

从程序员转为项目经理,这是一个巨大的跨越。一个新任的项目经理,对项目管理找不到感觉,一般也被认为是一件正常的事情。这是否意味着,一定要等到当上了项目经理才能学习项目管理吗?一定要做砸一个项目才能成长为合格的项目经理吗?其实未必,项目管理所需要素质和技能并不是什么独门秘籍,而是在生活中时时用到、处处可以锻炼的。只要有心,程序员一样可以学习和实践项目管理知识。...

JAVA并发理解之重排序问题

 首先我们先来了解一下什么是重排序:重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段。 从Java源代码到最终实际执行的指令序列,会分别经历下面3种重排序,如下图所示       上述的1属于编译器重排序,2和3属于处理器重排序。这些重排序可能会导致多线程程序出现内存可见性问题。在单线程程序中,对存在控制依赖的操作重排序,不会改变...

6个月,我走上领导岗位,送给迷茫的程序员们

  我08年入的大学,专科,11年大学毕业,我学的是会计专业(与程序员八竿子打不着的工作)。   11年出校门,一直从事会计工作,一直做到15年底,一共做了5年会计,期间跌跌撞撞,跳了不少槽。5年的总结:一事无成,一个会计小兵,一个会计小白。   自己打心眼里不喜欢会计,甚至排斥会计,我是个粗线条的性格,会计是个很细腻的工作,所以经常因为数字少个0,多个1...

RPA-UiPath学习之启程

因公司需要将部分原人工的业务采用RPA技术进行替代,把我抓了壮丁。 于是我开始学习起RPA。 公司选择的是目前市场占有率最高的Uipath。 UiPath这个Studio工具,大概是采用wpf开发。 在uipath实现的项目可以有两个选择VB和C#,两者都是基于.NET FRAMEWORK生态下的。 所以,这对C# .NET程序员而言,学习成本相对很低。...