因为:输出的难度远远大于输入的难度。而且这差距是百倍,甚至千倍,而非你潜意识里的几倍。同样的,很多人都有这些困惑:
答案就是动手。just do IT
看十本编程书,都不如动手写几百行代码。
你或许疑问来了,我也知道要练习输出,但怎么开始写呢?
既然你看得懂,那说明你已经刚入门编程语言了。我建议你去leetcode,选择你正在学习的语言,然后把easy难度的题目做一遍。当然,对于纯新手来说,easy难度的也许都可能做不出,但没关系,可以去看看讨论区,看看别人如何写,然后自己再试试复现。如果实在不行,把别人代码背下来,自己写一遍。虽然有点囫囵吞枣的感觉,但这么做一段时间后,你会发现,咦,你竟然开始理解了。
你这个时候应该还有新的问题,那按照什么顺序刷题好呢?github上有个中国小哥分享了他的刷题顺序。
其中你直接搜「简单难度题目合集」
试试做一遍这些题。你可以根据题目号去搜leetcode的原题,在leetcode完成后就在线运行。这里就不详细介绍leetcode了,如果你真不知道leetcode是什么,那么搞清楚leetcode就当是我给你布置的一道题吧。
有的时候leetcode上的大神解法非常巧妙,你可能看不懂。我又找到了一个github repo,是用动画的方式来讲解算法原理,你感兴趣也可以star一下。
其实你也不用气馁,在绝大多数领域,对于绝大多数人,都是输入的内容大于输出的内容的,无论你如何练习,总有你能看得懂但写不出的代码,即使写得出也不会成为你的日常风格的。
最后把这句名言记在心里:
talk is cheap, show me the code