1.实践与犯错误
第一个建议是你应该保持不断练习,代码敲得越多就越高效、犯的错误越多收获得就越多。为什么在你练习时,犯错非常重要?你编的代码越多,你就会意识到你在处理错误、设计、线程处理等情况下犯的错误。你将会从这些错误中学习,这时你的技术将会越来越好。
2.利用网络和书籍自学
显而易见,提高你技术最好的方法是自学技术,去关注你所匮乏的技术。最绝大部分的程序员来说,一个比较好的途径是去阅读来自不同地方的技术文档,比如Google的 website for developers,这里有很多经验丰富的程序员写了很多高质量的引导性文章。 Code academy, Code.org, 码农教程, 以及 HTML5 Rocks 都是一些很好的学习网站。
3.自我反思
对自己写的代码进行反思非常重要。每次修改一个bug后,应该反省和思考怎样才能避免以后再出现这样的错误。这也是一条非常重要的编程准则。推荐一本书《编程匠艺》。
4.向其他程序员学习
试着去做大量不同类型的项目,把每个项目都当成一种学习。当你觉得做得不爽的时,这才是好的。是自己脱离自己舒适区,去和其他你不熟悉的程序员一起工作,这样你将会学到很多新的东西。
如果机会允许,尽量和其他程序员一起工作,因为这样可以提供你的代码质量,并且帮助你提供团队合作能力。当和其他程序员合作时,就把它当做学习的机会,如何在工作上有什么不明白的就去问其他程序员。正常情况下,一个团队会有那么一个经验丰富的高级程序员和其它程序员,你可以从他们身上学习。
5.做开源项目
可以在来自像Github这类网站的开源项目上做开发,创建一个开源项目的分支然后做开发,这是提高你编程技术的一个非常好的方法。
在开源项目中读并且理解别人写的代码。在你自己的项目或开源项目中写注释有助于你理解自己的代码,也会使你更容易被别人理解。
6.阅读代码
读开源项目代码,或其它程序员的代码,去理解它们是怎么工作的。去发现代码中的模式,培养自己的技术,慢慢的你就会有你自己的"代码感"了。培养自己的"代码感"可以使自己在编程的时候感觉到那些地方出错了从而避免错误。
7.精通你使用的编程语言
是做你所在领域最棒的,还是样样知道却都不精通呢?个人观点,至少对你所要使用的语言很精通,然后可以广泛学习其他语言。
8.加入在线学习和开发者社区
技术使得学习更加容易了,实质上是移除了学习的障碍,不像以前还得报班学习。现在信息获取更加容易,所以学习也更加容易了。 去加入一些社交媒体、在线社区和Blogs,各类Blogs中常常包含很多技术文档、信息、新技术特征,以及API等。
去加入Stack overflow、论坛和其他社区,这真的非常非常重要,因为你可以从别人的讨论中学习。它会给你一个更好的平台来解决你的问题。确保在讨论中问很多问题,并表达你自己的观点。
9.编写单元测试
如果你使用单元测试,你将会发现它能帮助你改善你的设计思想和编码过程。这样一来,你将会更加善于设计代码。通过编写单元测试,它将会帮助你发现更好的名称、抽象类、接口以及抽象类等,这都将会提供你的代码质量。
10.进行代码审查并发代码给别人审查
做代码审查非常重要,它能帮助你成为更优秀的程序员。通过代码审查,你可以提高你的"代码感",并获得别人的反馈意见。同时,你能帮助别人提高他们的能力。当获得反馈后,要对自己不明白的地方询问更详细的信息。
11.最最重要的….和别人讨论并享受乐趣
在编程的时候,非常容易脱离外界联系,但是和其他人讨论代码、开一个简短的会议有助于头脑改善这一点。
去和同事及其他程序员讨论交流、参加一些比较大的会议,比如 JavaOne,Devfest等等,并享受其带来的乐趣。