原标题:为何你学不会编程 因为你不知道快学编程的妙招
九个妙招,让你学编程比99%的人都快!快速学编程我一般都用这些妙招!
新的编程语言每天都在诞生,Dart, Go, Kotlin, Elixir等等应接不暇。但真正学起来的时候很难突破学习曲线,我这儿有些小贴士能帮助你快速学习一门语言。
如果你想要加速学习过程并且增加对编程语言或框架的熟练程度,你可以按照这些步骤一步步来。
Photo: Sai Kiran Anagani/Unsplash
01
先掌握语言,后学习框架
有些人倾向先学习Ruby on Rails之类的框架,而不去了解Ruby。这是个大问题,因为Rails也是使用Ruby作为特定领域语言而产生的。
02
刷代码题
有很多像 LeetCode, HackerRank ,Project Euler这类的刷题网站来帮你熟悉语言,你会更多地接触语法、库、逻辑关系等知识,刷题也是准备面试的好方法。
03
尽可能用StackOverflow和代码评审
你刷题的时候难免会遇上些问题,这时候就得用上StackOverflow,这个网站相信不用多做介绍了吧。
真正的关键是在代码评审上,你可以加入来自StackOverflow 的StackExchange。代码评审的目的是让你的代码得到专家的反馈,看看新手区,加入这个超棒的社区吧!
04
读大量代码
为了突破学习曲线,Github是十分必要的。你可以找到你正在学习语言的成品代码,如果你有自信做贡献,那就再好不过了。
05
安装校验工具
校验器作为一种代码分析工具能用于标记BUG,语法和拼写错误等等。被高亮出的代码能便于你修正,改正的同时也是学习的最好时机。对于Ruby,我使用RuboCop作为校验器。
06
写地道的代码
当我学习Python的时候,我会把C#上的知识迁移到Python上。这是种学习新的编程语言的好方法,但要达到熟练是远远不够的,因为你并没有真正学会这一语言的习惯写法。
为了解释清楚,看看下面的Python代码:
def matrix_of_floats(matrix_of_anything):n = len(matrix_of_anything)n_i = len(matrix_of_anything[0])new_matrix_of_floats = []for i in xrange(0, n):row = []for j in xrange(0, n_i):row.append(float(matrix_of_anything[i][j]))new_matrix_of_floats.append(row)return new_matrix_of_floats
再对比Pythonic式的代码:
def matrix_of_floats(matrix_of_anything):return [[float(a_ij) for a_ij in a_i]for a_i in matrix_of_anything]
如果你想把代码也写得这么优雅,就得读大量专家写出的代码。
07
做点什么吧!
学习编程语言的主要目的就是想用它干点什么。当我学习Ruby的时候,我会用Rails框架来搭建博客,做To-Do类的APP,复制维基百科,整个类似烂番茄的网站。实际应用会巩固你学到的方方面面。
编程就要这样学http://www.cnitedu.cn
08
别放弃。
突破学习曲线是件十分困难的事,需要时间专注下去才能完成。千万别放弃,因为你可能比你想象的更进一步。如果你真的卡壳了,不如向外寻求帮助,有许多的资源都能用到。
09
绝地武士小贴士: while(true) => study()
我认识一位学了C#超过20年的程序员,他每天都能从C#和.NET挖掘点新东西出来。他就是 Antonio Maniero,StackOverflow上葡萄牙语系下最有影响力的人。
然而事实是:我们不可能穷尽一种语言的所有知识,这就是为什么我们能学到的东西会越来越多。
你可能擅长某些方面的事儿,成为那一领域被引经据典的人物,但总会有更多需要学习的东西。
责任编辑: