敲代码 学编程的正确方式

                       

【来信】
  老师您好!我自学编程的,我想向您咨询一下,关于敲代码的方法!
  第一:我先理解书上、视频的源码,然后根据自己对源码的理解,然后把代码的思路写下来,然后自己这个思路把代码敲出来,当我自己不懂的时候,再返回去看源码!
  第二:理解书、视频的源码,完全照抄一篇。
  我很长一段时间是使用第一种方法,但是我觉得好累啊!学得很慢,当我遇到一些难以理解的代码而且200多行的代码的时候,我感觉我虽然理解了代码,但是要我完全敲出来,总是会出错,当我全部功能实现之后,要花很长时间!我不知道我自己的这种方法是不是有问题,身边我也没有人可以请教!所以我想向您咨询一下这个问题!

【回复】
  很感动你的执着。初学遇上困难很正常,这一关过了,就可以迎接下一关的挑战了,不断过关,让自己的知识和能力上到新的高度,有辛苦,但是其乐无穷。
  从你描述的学法上,我先做些点评。
  “理解书、视频的源码,完全照抄一篇(遍?)”这个时期,我觉得不要照抄。“敲代码”靠的不是手指头,靠的是大脑。你首先要做的是阅读程序,深度的阅读。并且在读的时候,不要一下钻到细节中,先看结构。要解决的问题大致是清楚的,于是,程序有几大块,每块的任务是什么(你会发现,最宏观的,无非就是“输入-处理-输出”三块),然后再分解每一块。对十来行代码的程序这样阅读,等阅读200行,甚至2000行的程序时,这种思维就形成了,再不会被其中某个语法上的小疑惑困住了。照抄一遍会让你直接进入细节,忽视了结构,不利于你形成自己解决问题的能力。
  基于上面所说的阅读,在理解后,自己写代码。这时候,思路不清时,想结构,语法不清时,看语法即可。若写出了和源码不一样的程序,完全正常,不要追求一模一样。只要知道自己思路清楚,表达正确就可以了,甚至,在思路上、表达上和源码不一样,是件更好的事。当自己写得过程中糊涂了,有必要再回去看源码时,我也希望你能清晰地知道,是去发现思路(结构)上的问题,还是语法上的问题。语法上的问题,也完全可以去看有关的知识点,而不是源码。
  进入一个新领域学习,总是初时要慢。要学知识本身,还要学方法。从长远看,接受自己的慢起步。在做简单题的阶段,以及现在已经学一段时间后,可以回头再看,尝试一题多解(用多种思路/结构)和一义多表(同样的思路,用多种语法结构描述,如一段分支结构的逻辑,用if-else语句、switch语句、?:运算分别表示)的方式做一做,你学得东西就“活”了。
  以上是对你提问题的直接回答。
  再多说点。
  程序设计初学者,我特指学第一门编程语言的同学,感觉到的起步难就是源于两个方面:语言本身和解题思路。解决一个问题,两方面的能力都需要,但刻意地将这两个方面学着分开一些。初学做小项目时是这样,实际上,到成为高手后,做大项目、大工程,必然也是这样的,并且做宏观设计的人和最终用编程语言实现的人甚至不是一个部门的。阅读程序是学习过程中很重要的手段,先掌握结构,必要时将重点的语法部分再看一看,没必要时就不看了,用自己觉得更自然的语句去表达。而在写程序时,先将结构想清楚,甚至写出来(画流程图,或者就在源码中,用注释的方式标出来,以便后续填空),再考虑用什么样的语句表达。
  在学习过程中,注意一下及时总结。其实初学时,从语法角度,无非就是一些语句、表达式;从结构角度,顺序、分支、循环三种控制结构,再加上模块化程序设计机制等;从数据结构角度,简单变量到数组再到结构体等。学一段时间,将这些成份,以及它们之间的关系,在脑子中从宏观上织一织网,渐次再想到细节,你就不会被各种表象困扰了。
  就说这些。祝你学习顺利,也相信你能渡过难关。
  

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

BasicBasic BasicBasic正是微软公司售出的第一套件。 正是微软公司售出的第一套件。 Basic Basic Basic Basic 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 发展到今天已经有很多版本,如 GW -Basic Basic Basic Basic 、 QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic QuickBasic 、QBasic QBasic QBasic QBasic QBasic 、Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic , 等其中Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 是最容易学习与应用的程序语 言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来言之一。 虽然最容易学习与使用,但它的功能却非常强大很多应程序都是编出来不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 不是个都能成为比尔盖茨,但你想知道天使用的 WindowsWindowsWindows Windows的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 的诸多功能是如何实现吗? 你想要编自己的应用程 你想要编自己的应用程 你想要编自己的应用程 你想要编自己的应用程 你想要编自己的应用程 序吗?通过学习 序吗?通过学习 序吗?通过学习 序吗?通过学习 VB 就能出很多应用程序。 就能出很多应用程序。 就能出很多应用程序。 就能出很多应用程序。 就
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值