您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
学习代码是要多记还是要多敲?
代码,自己的,过程学习代码是要多记还是要多敲?
发布时间:2020-12-06加入收藏来源:互联网点击:
学习代码是要多记还是要多敲?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
作为一个写了十几年程序的老码农,写代码靠的是逻辑思维,加上稳固的编程语言基础。编程其实和学习英语有一定的相同之处,但又有不同之处,英语的学习可能夹杂着记忆成分,编程百分90以上靠的是逻辑思维加上强大的实践动手能力,很多人觉得先把理论掌握透彻了再去学习编程会快很多,有过几年编程经验的人可能对自己刚入行的时候多少都会有点记忆,真正让自己彻底能开始写代码绝对不是从一次次理论得来的,主要还是经历一次项目实战而且开始都有一种无形的压力,随着时间的推移发现特别是项目进行到一半的时候,发现编程没有想象的那么难,还是完全可以搞定的,甚至对于自己来讲也是能负担一部分的自信,这就是实战的威力,很多人基础很差但是经历了一次这种项目的磨练,成长的也会快速很多。
编程玩的就是逻辑思维,很多人说学习编程数学好的会占据点优势,这句话本身是有道理的,因为数学逻辑强直接切入到编程学习中具有天然的优势,这都不是主要的,编程入门学习的过程其实是培养编程语感的过程,一旦有了感觉写代码或者设计模块就会变得快很多了,编程能力的提升只靠多记是不可能有多大进步,在软件企业里面会有这样一种现象,培训出来的学生遇到在机构里面学过的就会做的非常快,有新的模块出来就容易变得手足无措,自学出来的会好很多,毕竟自学的过程就是一种自我寻找编程语感的过程,培训大部分属于灌输性质的,甚至很多极端的企业直接对参加培训的学生排除在外。
代码的学习在没有项目的情况下,要找一些练手题目,练手的时候不要在纸上谢谢而已,还要在电脑上形成真正的代码实现,不能仅仅是做一些模拟代码,要强迫自己拿出最好的学习状态,才能真正突破,只是学习理论只会在水上漂着永远学不到真正的编程能力,很多理论学的很棒的学生在考试的时候成绩很高,一旦上机就抓瞎,因为在真正实现代码的感觉和直接理论的学习是完全两码事,曾经有个同事写代码特别费劲,后来觉得自己真的不适合写代码就去复习考研去了,结果真考上计算机系的硕士成绩还特别好,写代码就是不停在机器上实践操作。
还真见过背诵常见的代码的大学生,后来发现稍微一变通就不行了,最后选择了放弃代码从来不是背诵出来的,编程代码的变化概率太高了,没有逻辑变通系统很难掌握的全面,但不能因此走极端放弃理论的学习,直接上机乱搞一通,这也不是学习代码的好习惯,首先有理论基础然后构建自己的理论体系,然后带着自己的想法去用代码实现,越是有经验的程序员在花写代码的时间长越短,主要在前期的设计上以及后期调试,最后是不断的代码的优化重构。
反而是一些刚入行的程序员就是担心自己不能实现功能,花费大量时间研究如何实现代码,一般过了几年的时间之后基本功上来之后,就会回归到设计和调试上来,到了这个层面更加和以及没有什么关系了,优秀的程序员就是在不断的提升编程基本功,修炼自己的编程思想和实际解决问题的能力,每个人都会经历这个过程。
希望能帮到你。
回答于 2019-09-11 08:43:50
有人认为,学习代码一定要多敲代码,这当然是没错的,但是我认为【多记】也很重要,下面请听我的详细分析。
学习代码是一个不断循环的过程
不管你是一个新手,还是一个有着多年经验的老鸟,在学习代码/新技术的时候,都要经历这样的过程:
学习理论知识,对你要学的内容一定要有个基础的概念。
照着别人的代码敲,特别是新手在入门的时候,甚至可以“抄袭”别人的代码,一行一行地敲到电脑里面(不是大段代码的复制粘贴),并调试通过,加深对理论的理解。
等熟练了以后,才是可以根据自己的理解,把代码敲出来。
当遇到问题的时候,再反复地做1、2、3步,不断加深理解,迭代完善自己的代码。
【多记】,到底是记什么
有人认为【多记】,就是背别人的代码,这个观点是错误的,除非你能做到过目不忘、脑容量无限,不过就算这样,需求稍加变化,你就可能就“歇菜”了。那么【多记】到底要记哪些内容呢?
上面提到的理论知识,这个一定要记忆。比如一项技术的概念、优缺点、适用场景,这些需要记忆。
不要记具体的代码,可以记住方法的知识点、伪代码的步骤。例如你要记忆单例模式的写法,那么就要记住:单例模式有几种写法;每种写法各自有什么弊端;比较推荐使用哪种写法,例如饿汉式的写法,构造函数不暴露、提供一个方法让客户端可以获得、定义一个静态变量来存储创建好的类实例(直接创建,因为构造函数不暴露,所以只会创建一次);但是缺点也显而易见:没有懒加载的效果,从而降低内存的使用率。
【多记】不是【只记】,最后依然是在反复敲代码的过程中,加深记忆。
为什么要多敲代码
学习代码和唱歌、做饭一样,只听歌、背歌词不一定能唱好;只会吃、背菜谱不一定会做饭,道理都是一样的;理论重要,实践更为重要。
那么【敲代码】就是学习代码的最佳手段么?
看书、听音频、看视频、听讲座这些都是被动学习,通常来说被动学习的知识,最终留在记忆中的会比较少,大部分都被遗忘掉了;
敲代码属于主动学习,效果会比以上的途径好很多;
比敲代码更优的途径是什么?写书、录音频、录视频、做讲座,这些看起来是知识输出,但实际上都是主动学习,这些途径和被动学习相比,效果会好很多,另外一方面,当你的技术能力达到了可以做“输出”的水平时,说明你对其细节已经了解地非常透彻了;或者说,你为了能做知识输出,“逼不得已”让自己更深入的学习。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
上一篇:为什么皮质表带卖得那么贵?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |