不懂的代码要先背下来吗?

简介: 【学生提问】   老师对于有些程序设计的代码写法,不理解的时候,我是不是应该先背下来,或者做个记录,以后要用的时候,再参考,还是用什么方式彻底弄懂?这个对于算法的理解,有什么提高的方法和步骤吗?【答复】   首先,我不赞成在不理解的情况下强记的方法。不理解先强记,对于某些少数的人文类知识,如诗词,是可以的,因为那些内容,一字不差是基本要求。各学科都有其内在逻辑,对绝大

【学生提问】
  老师对于有些程序设计的代码写法,不理解的时候,我是不是应该先背下来,或者做个记录,以后要用的时候,再参考,还是用什么方式彻底弄懂?这个对于算法的理解,有什么提高的方法和步骤吗?

【答复】
  首先,我不赞成在不理解的情况下强记的方法。不理解先强记,对于某些少数的人文类知识,如诗词,是可以的,因为那些内容,一字不差是基本要求。各学科都有其内在逻辑,对绝大多数知识,要设法将自己已有知识与新学的知识联系起来,这可以是到达理解程度的中间状态,这样就可以不记而记了。对于程序和算法而言,掌握其思想,懂得其技术,写法可以有很多,先背下来,可能就坏事了。
  其次,如何处理这件事?建议几个策略,我以你正在学的递归为例说明:(1)补差法:现在学不懂递归,根源可能还是你对函数机制的理解不到位,形参和实参的结合、函数返回的值以及返回的点等等,只要有一个地方模糊,到递归时,就会成为障碍,你可以借着学递归,找出与之相关的前面的知识点,把未曾觉察的短板补上来;(2)外围突破法:看某一本书没懂,某一个视频没看懂,可能是这些材料与你的思维没有搭上线,你可以再找一些材料,可以在网上找,可以翻其他书,别的材料里的例子、讲法,可能让你一下子就打通了自己未能发现的关键障碍,做到了理解;(3)暂时搁置法:学习是个长期的过程,别指望所有的内容过一遍就全打通,如果这个知识点太困难了,又不是马上急着要用上(急着要用的可以先照猫画虎),就可以先放一放(不是放弃了),以后,一是记着往前走一段时间后再回来看(一年级的没全懂,二年级回来再看,发现容易了),二是在用着时立刻回来看(这是用补差法解决后续的知识点顺带解决遗留问题),这时是带着要解决的问题来学,自然效果就好了。
  总结一下,学习的困难源于知识的联系不够、知识点间的逻辑不明,死盯一点,用单一方式突破,有困难正常。用较长的周期、用多种材料、多种方式突破,而不是在形式层面背会,这是解决困难的思路。

目录
相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 算法
代码的前世今生详细介绍
7月更文挑战第8天
41 4
|
11天前
|
Serverless Python
从代码中寻找生活的哲理
【8月更文挑战第31天】本文将通过编程的视角,探讨如何从代码中寻找生活的哲理。我们将以一个简单的Python代码示例开始,逐步深入到编程的哲学层面,最后总结出编程与生活之间的紧密联系。让我们一起在代码的世界中寻找生活的智慧吧!
|
27天前
|
安全
神秘代码
这是针对IDEA 2023.2.4的破解码,允许用户免费激活软件。该破解码包含详细的授权信息,能绕过付费使用限制,实现全面功能解锁。注意,使用此类破解码可能违反相关软件使用协议,并存在安全风险。建议通过官方渠道获取正版软件。
|
3月前
|
存储 API C语言
C/C++爱心代码
C/C++爱心代码
495 2
|
4月前
关于代码的思考
关于代码的思考
20 0
记一次代码评鉴
前言 近期公司组织了一次代码评鉴,在这边记录下学习到的一些规范吧
李峋的爱心代码
《点燃我温暖你》中李峋的爱心代码
161 0
李峋的爱心代码
|
设计模式 IDE Java
最好的代码是没有代码
对于大多数软件开发者来说,要让他们承认这一点是很痛苦的,因为他们爱他们的代码。你写的每一行新代码都需要经过调试,需要具备可阅读性和可维护性。
最好的代码是没有代码
|
程序员 数据库
【评论】好代码不值钱
导读: 原文来自geekm.ag 上一篇《 Good code is cheap code》,由国内整理编译《好代码不值钱》。作者认为好的程序员和伟大的程序员之间的区别就在于伟大的程序员理解他们的模式。
870 0