初学者怎样看懂代码 学习代码是要多记还是要多敲?

[更新]
·
·
分类:互联网
1375 阅读

初学者怎样看懂代码

学习代码是要多记还是要多敲?

学习代码是要多记还是要多敲?

有人认为,学习代码一定要多敲代码,这当然是没错的,但是我认为【多记】也很重要,下面请听我的详细分析。
学习代码是一个不断循环的过程不管你是一个新手,还是一个有着多年经验的老鸟,在学习代码/新技术的时候,都要经历这样的过程:
学习理论知识,对你要学的内容一定要有个基础的概念。
照着别人的代码敲,特别是新手在入门的时候,甚至可以“抄袭”别人的代码,一行一行地敲到电脑里面(不是大段代码的复制粘贴),并调试通过,加深对理论的理解。
等熟练了以后,才是可以根据自己的理解,把代码敲出来。
当遇到问题的时候,再反复地做1、2、3步,不断加深理解,迭代完善自己的代码。
【多记】,到底是记什么有人认为【多记】,就是背别人的代码,这个观点是错误的,除非你能做到过目不忘、脑容量无限,不过就算这样,需求稍加变化,你就可能就“歇菜”了。那么【多记】到底要记哪些内容呢?
上面提到的理论知识,这个一定要记忆。比如一项技术的概念、优缺点、适用场景,这些需要记忆。
不要记具体的代码,可以记住方法的知识点、伪代码的步骤。例如你要记忆单例模式的写法,那么就要记住:单例模式有几种写法;每种写法各自有什么弊端;比较推荐使用哪种写法,例如饿汉式的写法,构造函数不暴露、提供一个方法让客户端可以获得、定义一个静态变量来存储创建好的类实例(直接创建,因为构造函数不暴露,所以只会创建一次);但是缺点也显而易见:没有懒加载的效果,从而降低内存的使用率。
【多记】不是【只记】,最后依然是在反复敲代码的过程中,加深记忆。
为什么要多敲代码学习代码和唱歌、做饭一样,只听歌、背歌词不一定能唱好;只会吃、背菜谱不一定会做饭,道理都是一样的;理论重要,实践更为重要。
那么【敲代码】就是学习代码的最佳手段么?
看书、听音频、看视频、听讲座这些都是被动学习,通常来说被动学习的知识,最终留在记忆中的会比较少,大部分都被遗忘掉了;
敲代码属于主动学习,效果会比以上的途径好很多;
比敲代码更优的途径是什么?写书、录音频、录视频、做讲座,这些看起来是知识输出,但实际上都是主动学习,这些途径和被动学习相比,效果会好很多,另外一方面,当你的技术能力达到了可以做“输出”的水平时,说明你对其细节已经了解地非常透彻了;或者说,你为了能做知识输出,“逼不得已”让自己更深入的学习。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

大家都看过哪些让你虎躯一震的代码?

这个问题有意思了,作为工作多年的老程序员,说实话,见过很多人写的代码,也没有看见过太多的让你虎躯一震的代码。顶多就是代码的注释大家一般都会写的非常有意思。
而且在网上也盛传着各种有意思的代码,也只能说顶多有意思,好玩的代码,不能称之为虎躯一震。直到我看到这段代码,才发现,嗯,这段代码不禁让你虎躯一震,还非常有意思,感觉是一位高人所写。
代码片段如下:
这段代码堪称典范,从命名的角度来讲,绝对是非常合格的,一看函数名字就知道要获取第二天(明天)的时间,从命名的角度,言简意赅,非常规范。而且整个函数代码很简洁,很漂亮对不?
是的,而且这位同学很厉害的是知道一天 24 个小时,一小时 60 分钟,一分钟 60 秒,而且还知道线程睡眠用的是毫秒,知道乘以 1000 ,可谓知识非常的丰富。
只不过这段代码的内容,嗯,就不好评价了,总之四个字:虎躯一震。再加四个字就是:背后发凉。
最后,我想问大家:你们见过那些让你虎躯一震的代码呢?欢迎大家在回答底下留言,评论一起交流。