做为一个在 IT 行业的软件程序员,天天促使我去上班的动力就是对编程的乐趣和激情。可是为了激发乐趣并得到永恒的快感,咱们须要学习和遵照一些基础知识以成为一名优秀的程序员。html
固然我总结的这些东西没有那么神,你说你要想学了以后就必定能够成为优秀程序员,那是不可能的。这只是从个人经验角度出发提供的一些捷径。对于优秀程序员的定义,此处能够理解为能开发出超棒的 IT 解决方案而且能促进行业总体发展的程序员。java
无论任何行业和任何工做,概念的理解都是成功的关键。除非你有强大的概念基础,不然就不可能成为一名优秀的程序员。核心概念的理解有助于你用最 佳的方式设计和实施解决方案。若是你以为你如今尚未好好掌握关于核心计算机科学和编程语言的特定概念,那么如今回过头去从新学习这些基础知识犹未晚矣。程序员
我发现区分程序员优劣的一条很明显的分割线就是,是否有这个热情去知道“what and how”。有的程序员对于本身的代码是如何执行的以及执行结果等知道得一清二楚。我也理解有时候由于时间紧迫,咱们不得不在只知道这些代码能够完成工做的 状况下就马上进行下一步。虽然这对解决问题而言,彷佛是另外一个方向的话题,可是做为一个程序员,咱们应该尽量地深刻研究问题以达到最高水平。相信我,随 着时间的推移,你会在不知不觉中养成这个好习惯,而后受益无穷。。web
可能咱们中的大多数人只有在本身须要帮助的时候才会上论坛和群。有一条区别程序员是否优秀的分割线就是,优秀者常常会去这些地方以帮助他人。而 且他们在帮助别人的同时,本身也能学到不少东西。若是是在一个团队中,也应该互相帮助。相信我,理解别人的问题背景、研究并提出解决方案会让你学到的更 多,成长的更快。编程
正如在生活中其余方面同样,KISS(Keep it simple and short)规则一样适用于编程领域。代码要有逻辑,避免过于复杂。有些人之因此要将代码写得那么复杂只是为了证实本身有写复杂代码的能力。可是个人经验 告诉我,简单且逻辑化的代码才能有效工做,不但问题少并且更易扩展。我记得有这么一句话:框架
好的代码自己就是最好的文档。在你要添加注释以前,先问问本身,“我怎么改进代码,才能不须要写这个注释?”编程语言
——Steve McConnell工具
多花点时间用来理解和分析问题,设计出最优的解决方案,而后你会发现接下来的工做将事半功倍。设计过程并不意味着必定要使用建模语言和工具,也 能够很简单,例如抬头仰望天空,而后在脑子里来一场头脑风暴。那些一拿到问题就习惯性去噼里啪啦写代码的程序员,最后拿出来的成果每每会与要求的不一样。学习
你若是在洗澡的时候脑子里尚未程序的总体结构,那就意味着尚未作好开工写代码的准备。设计
——Richard Pattis
虽然有点困难,可是在其余人发现以前本身先知道问题的所在,能让你学会如何写出“接近于无 bug”的代码。本身对本身的代码审核要公正严谨,也要能毫无犹豫地接受他人的审核。近朱者赤,与优秀的程序员一块儿工做,积极听取他们的反馈,必然也会帮 助你成为一名优秀的程序员。
最近一段时间在 IT 行业里,我碰到的不少人——要么念叨着对他们的工做失望了,要么甚至于已经辞职在找新工做了——都一致表示,他们想要学习并使用最新的技术。对于这个愿望 我认为能够理解,可是这个词“最新的”,我以为不甚正确。咱们天天都能听到有人在说“如今又出来什么新的工具、API、框架和其余方法等”可使得编程工 做更加的简捷。这在技术领域其实一直在发生。真正须要咱们去关注和理解的是核心和基本技术的转变,在这个基础上再去看新的框架、工具和 API。举个例子,在不少 Java 公司可能每隔一周就会换上新的 web 框架,可是其基于客户端—服务端通讯模式的需求方式、MVC 模式、filters/servlets/JSP、资源绑定、XML 解析等核心概念依然是相同的。因此,与其时刻担忧框架和工具的变化,还不如花点时间好好学习这些核心概念。相信我,在理解这些核心概念的基础上,咱们才可 以更快地掌握新的框架、工具和 API。
不少时候,软件程序员可能会采起应急和变通的解决方案(或由于时间紧迫,或缺少对问题的深入认识,或技术经验不足)。可是,这些应急方案会破坏 代码,致使其后期很难扩展和维护。我能理解,有的时候这种状况真的很难避免,可是就像咱们都应该讲实话同样,你讲了谎言,那就得知道谎话总有戳穿的那一 天。
优秀程序员的基本习惯之一就是阅读大量的文档,技术指标、JSR、API 文档、教程等等。阅读文档为咱们用最好的方式编程打下了必需的基石。
我很是喜欢与那些在 IDE 里有 java 源代码的优秀程序员交流互动,阅读/参考他们的代码。由于这么作不但能了解基本知识,还能够学会写项目的新方法。阅读和参考一些可靠和已知的开放源码或者本身的高级代码,也有助于咱们更好地编程。
最后一点,前面没有列进去的:不要和别人比
俗话说,人比人,气死人,拿本身与别人做比较只会致使负面情绪,并演变成不良竞争。尺有所短寸有所长,每一个人都有本身的长处和短处。我看到过不少次一些所谓的特别牛叉的程序员也会犯一些很愚蠢的错误。因此,剖析本身,列出不足之处,努力改进本身,才是正途。
编程是一种真正的乐趣,欢迎乐在其中。