编程10建议

 java  java


1. Coding, Coding and Coding

为什么我将编码排在第一位?因为它是编程中最困难、最核心的部分。通过编码你才能自己在软件设计、异常处理、多线程上存在的不足,进而针对性的提升各方面的技巧。你不能仅限于理论设计,编码实践对学习编程来说更为重要。不要在解决问题后就此止步,抛弃原先的解决方案,那只不过是一个原型,你的下一个解决方案应该处理你在构建原型过程中所发现的需求缺陷。

2. Reading Books

编码说起来容易做起来难,好的代码与坏的代码之间存在着巨大的差异,但你如何识别呢?直到你见到了一段好的代码,意识到为什么某段代码写的好,你才能识别他们。这也是阅读能给予我们帮助之处,通常编程书籍的作者都是一些伟大的程序员。他们将自己的经验写入书籍中贡献给读者。我喜欢阅读,特别是《代码简洁之道》这本书对我特别有帮助。通过阅读这本书,我发现自己在编码上存在的问题,并且在以后的编码中时刻遵循书中给出的建议。我的意见是如果你也发现了这样的书籍,那么请深入的理解它。我也建议重复阅读这类经典书籍,时时刻刻去查阅它们。另一本类似的书籍是Joshua Bloch编写的《Effective Java》,同样充满了好的指导建议。这本书籍同样来自Java程序员必读书籍列表,通过阅读书籍你从可以学习其他编程人员的经验,提升自己的方式只有两种,一种是通过自身的经验积累,无疑这是非常有限的,另一种是通过学习其他人的经验,而这种方式却是无可限量的。记住多并不意味着好,相比一下阅读5本书而言,我建议你读两本,多读几遍更深入的理解。

3. Contributing to Open Source, Signing-up mailing lists

在开源社区贡献代码,特别是通过Apache、Google以及其他开源项目来提升你的编程技巧从而成为更为优秀的程序员。 仅仅是登录邮件列表,参与他们的讨论都可以教会你许多东西。由于许多讨论都产生在优秀的程序员之间,通过听取他们的对话,理解问题以及他们探讨的内容、解决方案、观点, 渐渐的你就拥有了好的开发习惯。最重要的是,不要被动的接受,学会提出问题,表达自己的观点,同时也学会重视他人。

4. Practicing data structure, Algorithms and Design related problems

我曾经想将其排在第二条,但最后排在了第四的位置。在我看来,这可以说是成为一个优秀的程序员关键所在。 我所见过绝大多数的优秀的程序员都善于数据结构、算法以及其他基础理论。通过学习这些东西,你能更好的利用现有的。由于数据结构是任何编程的关键,扎实的数据结构知识可以帮助我们解决问题。类似的,关键的编程原理、搜索排序算法以及其他著名的算法和开发技巧都同样重要

5. Reading Good Blogs

阅读好的博客是阅读的一小部分。为什么阅读博客能帮助你成为一个优秀的程序员呢? 确实如此,由于博客通常都是程序员编写,他们分享个人观点和经验,你会发现他们的观点是相当中肯的。由于博客只是小的信息片段,因此它容易被理解消化。博客同样帮助人们学习新的技术和语言的新特性。时常,当我遇见JAVA中一些难以理解的内容,最后会在一些小的博客文章中得到解答。

6. Reading Code

阅读博客帮助你称为优秀的编程人员,阅读源码则收益更大,但是阅读博客容易,阅读代码却很困难。你遇到过阻力么?遇到阻力时你应该坚持下去。阅读开源项目代码,你同事的代码,你专有的代码,JAVA JDK的源码,尝试理解其工作原理,理解是做什么的以及为什么这样做。发现起其中的设计模式与开发技巧,起初你会发现阅读源码枯燥乏味且难于实施,但随着时间的推移,你会培养出优秀的代码意识,这将预防你犯错,还能帮助你识别其他人的错误、缺陷以及代码好坏。

这种代码意识是一个优秀程序员的特征之一,他们总能够发现那些你遗漏的问题。

7. Writing Unit test

单元测试补充了思维和编码的过程,帮助你在以后更好的设计。任何难于测试的代码都存在提升的空间。编写单元测试对我们提升代码整体质量有着巨大帮助,它使我们发现更好的命名,更好的抽象,更好的接口与抽象类设计。 但是编码、设计、单元测试对每一个编程人员而言都是是一份艰难的工作,期间会遇到很多的阻力。有些程序员编写无关紧要的测试用例,而不去仔细思考实际的应用场景。记住没有替代思考的过程,经过分析、设计和开发之后,单元测试是另一个机会用来思考代码和场景中的缺陷。将为你的代码编写单元测试作为你的一条原则。

8. Doing Code review

如同单元测试,代码审查是另一个有助于成为优秀编码人员的方法。代码审查有助于审查人和代码作者,审查人提升其代码的品味,并提供真诚的建议,而作者从自己的错误中得到学习。其有助于让其他程序员发现你自身无法意识到的代码问题,如果你有幸在一家以单元测试、代码审查为规程的公司,你会称为更为优秀的程序员。单元测试和代码审查会极大的帮助你提升编程技巧。

9. Talking to fellow programmer

阅读相比探讨是被动的行为。与你的同伴探讨一段程序常常会激发更好的解决方案,因为当你倾听他人时,你的思想会涉及的内容更多,然后发现程序缺陷,漏掉的需求以及设计缺陷。在软件行业,程序员倾向于同外界隔离,而交流、分享会有很大的帮助。不要只是做在那里编码,与同伴交流、倾听、思考、视频群聊,参与到活动中同样会有帮助。

10. Participating Stack Overflow and forums, Commenting in Blogs

这是另一种形式的活动,它能帮助你温习知识。通过分享知识,由于编程是广泛且大量的,很容易忘记那些超过3个月不用的知识。参与到StackOverflow中回答其他人的问题,在博客或论坛上写下评论都是一种复习知识的方式,同时纠正你的误解。通过将我们的知识展现在别人面前,不仅帮助他人,同时也将我们所掌握的知识给他人测试。时常你会发现,别人既能从你的知识中获益,同样你错误的理解认识也能够得到更正。