icon
Published on

不要以记忆的方式学习

Authors

Content

@pw_eagle

皓哥我多次看到您提到“不要以记忆的方式学习。也不要学在表面上。”, 后半句我领会的就是要用理解,学一个技术点要能对这个技术产生的前因和后果,解决的啥问题,又可能挖了什么坑,还有与之相关技术的相关性,形成立体的对比和联系; 前半句“不要以记忆的方式学习”,可能写代码太少,或是缺了什么知识点,我一直没get到重点, 疑惑:那么多代码记是记不住,但是那么多种语言,某种语言没有每天写,有时候就忘记了。 比如我c语言有时候那个换行是\n还是/n,会突然卡壳都想不起来,哪种表达才是对的。 第一种办法就是键盘敲熟悉了就\n凭感觉、顺眼敲下去, 第二就是在查资料比如以前review的代码或是谷歌、 第三还有就是记住转义字符\,这还是得靠记忆。 我说\n只是举个例子,就是碰到这类语言语法规范问题的三个解决思路。“不要以记忆的方式学习。也不要学在表面上”的这句话前句是规则,后句是解决办法,还是两句都是规则,那有具体的解决方案吗?, ”不要以记忆的方式学习“,是针对什么问题,有什么解决办法?。

@haoel 我自己还有个问题就拷贝和粘贴得编程方式不好,不知道您怎么看,高手都比较看不上这种编程方式, 但是以前的代码或是google到的代码确实能解决当前项目的问题。比如c++也算是联合语言,STL也是好的代码组成的库,本质上也是重用,好拷贝、粘贴没啥区别。不知道我哪里理解有问题

@haoel

当你知道有 \0 表示ASCII 码为0 的字符的时候,你有没有想自己试一下 \13\10 ? 如果你想了,你就不是在记忆上学习了,如果没有想,那就是记忆学习了

@pw_eagle

@haoel 能这么理解: 记忆学习属于低阶,懂相关联系性属于高级; 低阶是结论,最终还是结论。 高阶是原理,通过原理推而广知。 用刚才的数学举例: 低阶就是记住三角180度,四边形360度,五边形640度 高阶就是知道三角180度基础上,推导四边形360度,五边形640度,通过原理推到处理,如图 或是总结边和角的关系公式都属于高阶行为

@haoel

是的,和你说的差不多,可以类比一下数学。我举个例子,求多边形的面积,当你知道正方形的面形是怎么求出来的,你自己就可以找到方法推论出,长方形的面积、平行四边形、梯形、三角形的面积计算公式。当我们知道,三角形内角和是180度时,自己就可以推论出四边形、五边形,六边形直到N边形的内角和的公式……这就是学习要学方法,而不是记答案(上面的例子是四年级的小学生应该可以掌握的学习能力)

编程和技术也一样。一般来说,我们要学会区分两种东西,一种是低阶是什么,另一种是高阶的为什么。 \n 其实是控制字符,比如像 \0 也是控制字符,控制字符在编程中是个讨厌的东西,你无法输入,所以,需要用一种可见的方式输出,于是大家就约定用 `,那么,既然用了\后,我想输出""怎么办,那么就只能用 \\ 了,也就是说,`字符被系统征用了,所以,你要打出他来,就需要转义。于是,当你看到C语言的printf中的 % ",也被征用了,所以,如果你要输出话,也需要转义,于是出现了 %% 和 " 的转义……