2018年4月26日

编程快速入门,必备技能!

编程快速入门,必备技能!

导语:这篇文章很精简,但却非常实用,能够帮助你快速学习一门语言。

译/ 之肴 编/玉米汤

新的编程语言每天都在诞生,Dart, Go, Kotlin, Elixir等等应接不暇。但真正学起来的时候很难突破学习曲线,我这儿有些小贴士能帮助你快速学习一门语言。

如果你想要加速学习过程并且增加对编程语言或框架的熟练程度,你可以按照这些步骤一步步来。

编程快速入门,必备技能!

Photo: Sai Kiran Anagani/Unsplash

1、先掌握语言,后学习框架

有些人倾向先学习Ruby on Rails之类的框架,而不去了解Ruby。这是个大问题,因为Rails也是使用Ruby作为特定领域语言而产生的。

2、刷代码题

有很多像 LeetCode, HackerRank ,Project Euler这类的刷题网站来帮你熟悉语言,你会更多地接触语法、库、逻辑关系等知识,刷题也是准备面试的好方法。

3、尽可能用StackOverflow和代码评审

你刷题的时候难免会遇上些问题,这时候就得用上StackOverflow,这个网站相信不用多做介绍了吧。

真正的关键是在代码评审上,你可以加入来自StackOverflow 的StackExchange。代码评审的目的是让你的代码得到专家的反馈,看看新手区,加入这个超棒的社区吧!

4、读大量代码

为了突破学习曲线,Github是十分必要的。你可以找到你正在学习语言的成品代码,如果你有自信做贡献,那就再好不过了。

5、安装校验工具

校验器作为一种代码分析工具能用于标记BUG,语法和拼写错误等等。被高亮出的代码能便于你修正,改正的同时也是学习的好时机。对于Ruby,我使用RuboCop作为校验器。

6、写地道的代码

当我学习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]

如果你想把代码也写得这么优雅,就得读大量专家写出的代码。

7、做点什么吧!

学习编程语言的主要目的就是想用它干点什么。当我学习Ruby的时候,我会用Rails框架来搭建博客,做To-Do类的APP,复制维基百科,整个类似烂番茄的网站。实际应用会巩固你学到的方方面面。

8、别放弃。

突破学习曲线是件十分困难的事,需要时间专注下去才能完成。千万别放弃,因为你可能比你想象的更进一步。如果你真的卡壳了,不如向外寻求帮助,有许多的资源都能用到。

9、绝地武士小贴士: while(true) => study()

我认识一位学了C#超过20年的程序员,他每天都能从C#和.NET挖掘点新东西出来。他就是 Antonio Maniero,StackOverflow上葡萄牙语系下最有影响力的人。

然而事实是:我们不可能穷尽一种语言的所有知识,这就是为什么我们能学到的东西会越来越多。

你可能擅长某些方面的事儿,成为那一领域被引经据典的人物,但总会有更多需要学习的东西。

愿原力与你同在!