1、阅读代码能让你变得更优秀编程
在编程生涯的早期就明白阅读的代码越多,代码就能变得更好。当我不得不维护其余人的代码时,简单和干净的代码几乎老是比花哨或复杂的代码好—— 即便有注释。然而另外一方面,当我花足够的时间去理解复杂代码的时候,我经常可以学到新的技巧。不论怎么样,都能让我有所提升。编程语言
这使得我在那些没有代码审查的地方一再争取。而当没有足够的时间来正式执行“代码审查”的时候,我会本身浏览存储库和阅读代码。ide
2、超越语法工具
在你不得不全力对付任意编程语言的语法时,也就是学习如何充分利用该语言最琐碎的时刻。一门语言的语法每每是很是静态的,而且若是你出错了,你的编译器会向你控诉。更深层次的课程涉及到什么语言最适合解决什么样的问题(“合适的工具作合适的工做”),以及如何用那种语言编写代码以便于使它高效和可维护。学习
学习新语言有许多方法:课程,教程,导师,书籍以及等等。我一般会结合这些选项来学习一门新的语言。当涉及到非语法元素的时候,这些方法经常很是类似。测试
阅读来自于其余人的实际部署代码会让你收获更多。不只仅是常规的结构化学习,你还须要学习模式和实践方法。语言中所谓“正确”的作事方式并不老是效果最佳的方式。你会经历边缘状况,一次性事务以及意想不到的集成。你也会找到这些问题的解决方案,有好有坏,但若是你认真思考的话,那么这正是出来“推荐作法”的地方。网站
3、开源无处不在开放源代码
随着开源运动的发展,可供阅读和学习的代码数量也大幅度增加。例如Gitlab,GitHub和到BitBucket这些网站就容许咱们获取全功能的应用程序,不只能够阅读代码,还能够摆弄。不多有我想要学习的东西是不能在开源代码中获取的。教程
我之前学习新的编程语言,会把重点放在诸如目录结构和命名约定这些简单的事情上。可是,如今,我会找一些不一样的开源项目,而后能够开始拼凑经常使用的方法。我不多强调之前那些类型的东西了。事务
可用的代码是如此之多,但质量却参差不齐。当咱们想要学习的时候,经常搞不清楚哪一个好哪一个很差。那就保持阅读代码吧,慢慢地你会学会如何区分。阅读“坏”的代码能够帮助你理解为何它是“坏”的。关键是不要惧怕尝试任何你以为看上去正确的东西,而且当你走错路的时候可以认可错误,并改正问题,而后继续前行。
4、坏的代码就坏的,是这样的吗?
有人会说“坏的代码比好的代码要更多更明显”。
当我看到我之前写的代码时,个人第一想法就是我怎么会写这样的垃圾代码。这实际上意味着我还在学习中。若是我看到我之前的代码,以为它看上去很是的好,那么说明我并无提升。
那么,咱们怎么才能从坏的代码中学到东西呢?
5、你阅读的坏代码越多,那么你就越擅长发现坏的代码
当你在学习和搜索例子的时候,你会发现和使用大量不能工做的代码。请记住,仅仅由于它不适合你的状况,并不能说明它就是坏的代码。学习如何让它工做可以使得你变得更优秀。
6、你怎么知道它是坏的代码?
人们喜欢批评。阅读评论,若是你看到不少“WTF(什么玩意)”,那么可能你看到的正是坏的代码,试着指出为何很差的缘由。不要只留下“这代码真烂”这样的评论。不要装得你好像懂得坏代码的全部需求,要知道,总有一个它之因此被这样写的正当理由。若是你知道它为何是坏代码的缘由,那么不妨留下一个有建设性的评论。
7、让它变成好的代码
放一个能让代码变得更好的pull请求。修正语法,使用更好的方法,添加注释或修改缩进:这些都是改进代码的伟大方式。加一个为何你推荐改变代码的解释。
我发现当我帮助别人学习的时候能学到更多。若是我认为我理解了一个新的主题,那么我会找我的来试着向他解释,这能让我更深入地理解和记住它,而且让我快速发现我是否写了坏的代码。
8、回报
记住开放源代码在你参与进去的时候效果最佳。代码更改在大多数项目中都是受欢迎的,可是有不少出力的方法。
测试开源代码和文件错误报告;帮助完成文档集;写教程和如何作的例子;参加对话——或者仅仅只是帮助传播。每一件事都能带来改变,而且越多的人参与进来越好!