学习编程照着别人的代码敲进去有效率吗?

简介: 经常有读者对学习编程有一种困惑:书/视频都看懂了,就是不会自己写。这也是当初行哥学编程时非常困扰的一个问题,之后不会写就对着敲代码

经常有读者对学习编程有一种困惑:书/视频都看懂了,就是不会自己写。这也是当初行哥学编程时非常困扰的一个问题,之后不会写就对着敲代码

  • 如果照着敲代码,感觉自己就像一个无情的打字机
  • 如果不照着敲代码,感觉学完之后索然无味,看完视频教程不断质疑自己刚才都学了啥?

在这种纠结过程中耗费了大量时间,学习效果却不是很显著

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy94azlvdDVzVTV6amlhWHpSaWJYd1N3RmtpYU5XeTRkQU42cjdkMnhnR2RpYXNpYmV0eVZPZXNUQUdkbENGR204ZlNyTW9hNkh0VWhZTkdEZXZsUW5RdWUyTm9RLzY0MA.jpg

经过几年的洗礼,稍微分享一下行哥的回答:

首先给个结论:敲代码肯定有效果,但是要区分一下怎么敲代码

  • 如果只是照着别人的代码逐字敲进去,也只能练习手速,在大脑中暂时留下一些微不足道的映像。
  • 如果是一行一行语句敲进去,可以提升一定的手速,也会在大脑中有一定的理解,会对自己提升一小点。
  • 如果是按照功能模块敲进去,可以提升一定的手速,同时会对整个程序有了一定的模块划分,对学习编程的人来说,会有更进一步的提升。
  • 如果是先读懂别人的代码,然后滤出程序的思想,再按照思路来敲,除可以提升手速外,会对自己学习编程建立一定的逻辑思维,同时对自己的提升会有较大的提升。
  • 如果是先读懂别人的代码,总结出别人的思维,再结合自己对这个功能的理解,找出其它合理和不合理的地方,然后对代码进行优化。则对自己学习编程是最有利的方法。

敲一遍,验证别人的代码是否存在错误!

敲两遍,验证别人的代码时,自己完整无误的输入正确!!

敲三遍,验证别人的代码的同时,自己会对每一个过程有一定的了解!!!

敲四遍,验证别人的代码的同时,自己会对体思路有一定的了解!!!!

敲五遍,验证别人的代码的同时,自己会有更深的理解及完整的思路!!!!!

接着敲,直到自己对程序有独特的理解和想法,并完善优化程序……

所以说:敲、多敲、反复敲,一定有所收获~~

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6amlhWHpSaWJYd1N3RmtpYU5XeTRkQU42cnp1ZFdxMDloYVYxQU5QaEtESlhQTWpPSnZwdTZFa0l4RFRDdWJjTVBHZ3A4MmJGaEpDVDBrQS82NDA.png

总结一些学习方法:

一、规划

在学习一门编程语言时,首先系统的了解学习的大纲,然后规划好学习时间。对于总体的学习时间,以及每天的学习时间和每天学习的内容,都要有明确的规划。并且每天都要认真执行自己的规划,不要找任何不合理的借口逃避。

二、笔记

在学习编程时,记笔记相当重要。记笔记不仅可以让你对某个代码有更深入的了解,还能深化对代码的记忆。

记笔记有以下几种常用的方法:

1、使用在线云笔记记,如有道云笔记、印象笔记、墨客笔记等,但是不要直接复制代码到笔记里,要自己打上去。

2、写博客,可以把笔记写到博客,如CSDN博客、博客园、知乎等博客平台或者自己搭建个人博客网站、个人公众号。写博客不仅可以提升自己的知识,还发扬了互联网的共享精神,分享知识,造福更多人。

3、笔记本,也可以直接用笔记本记笔记。

三、练习

学习编程时需要通过大量的练习来提升编程能力,学习了一个内容之后就要练习相应的内容,绝不能偷懒,否则学到后面可能就会暴露出各种后遗症

练习中遇到问题的解决方法:

1、百度/谷歌 2、询问技术大牛

四、纠正

学习编程时,纠正这一环节也是很必要的。可能你写的程序存在各种各样的问题,但是你无法发现。这时就需要有人给你纠正,或者你通过去阅读别人优秀的代码来发现自己的不足

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6amlhWHpSaWJYd1N3RmtpYU5XeTRkQU42cjNKc0NVbEgybDZadHBuZ21iVGhubE1BSFJ3TUxBWDNKdEJLeVdLSHpPcU1Oa2liVmJ3eWljYmN3LzY0MA.png

参考:https://www.zhihu.com/question/297309123

对了,可以加下行哥微信好友,私聊回复「02」可以领取5T编程资料哦

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6amlhR3ZEeDhxUUFIQjVUOUxEaWJPWXZEakpNSks3MWEzUmRLbEdYYTNOMEpIYjN2RGlhNURLZlA2VmdSWFhGbnJZa2Q4MWxWcVlsSFBoZy82NDA.pngaHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy94azlvdDVzVTV6aWFrUEhDRzdOcWhud0pvZVl0RGxDUzFFaWNuNm9CME9VWUZUWHVraWEzeXAyeWpPSDVIcXdlYTZqNGUxUW5wNW9KYW8xdTJ1VmliTzRaV2cvNjQw.png

相关文章
|
8月前
|
缓存 监控 供应链
实战解析:阿里巴巴国际站 alibaba.item_get 商品详情数据API接口
本文详解阿里巴巴国际站alibaba.item_get API,涵盖OAuth2.0认证、签名生成、商品数据获取与标准化解析,提供Python实战代码,助力跨境电商实现智能选品、价格监控与供应链优化。
|
Cloud Native IDE Go
Protobuf在IDEA中的插件安装教程
Protobuf在IDEA中的插件安装教程
1547 0
|
Ubuntu
Ubuntu系统镜像下载,国内镜像站大全(山大/清华/阿里/浙大/中科大...)
装Ubuntu,是很多理工科同学入门的第一个挑战,首先我们就需要找到一个能用的iso镜像,根据你的网络环境的不同,不同的站点下载速度会不一样,下面列举一下几个比较好用的,都是来自Ubuntu官方推荐镜像站链接导航国内分区
32545 1
|
机器学习/深度学习 计算机视觉
深度学习与计算机视觉的最新进展
深度学习与计算机视觉的最新进展
|
Docker 容器
设置docker开机自启动,并设置容器自动重启
设置docker开机自启动,并设置容器自动重启
1817 0
|
Linux Docker 容器
docker安装与加速
docker安装与加速
649 0
|
Go
Golang语言之映射(map)快速入门篇
这篇文章是关于Go语言中映射(map)的快速入门教程,涵盖了map的定义、创建方式、基本操作如增删改查、遍历、嵌套map的使用以及相关练习题。
401 5
|
JavaScript
cnpm 的安装与使用
本文介绍了npm和cnpm的概念、安装nodejs的步骤,以及cnpm的安装和使用方法,提供了通过配置npm使用中国镜像源来加速包下载的替代方案,并说明了如何恢复npm默认仓库地址。
cnpm 的安装与使用
|
Linux 虚拟化
成功解决:Xshell 无法连接虚拟机。如何使用Xshell连接CentOS7虚拟机(详细步骤过程)
这篇文章提供了使用Xshell连接CentOS 7虚拟机的详细步骤,包括编辑VMware的网络设置以启用桥接模式、检查个人电脑适配器虚拟网络的连接情况,以及通过Xshell新建并建立连接的过程。文章还提到了在虚拟机可以访问外网的情况下成功连接的后语,暗示了网络配置的重要性。
成功解决:Xshell 无法连接虚拟机。如何使用Xshell连接CentOS7虚拟机(详细步骤过程)
|
关系型数据库 MySQL 数据库
成功解决:Navicat 连接虚拟机Docker中的mysql数据库失败(仅限某些特殊情况)
这篇文章介绍了在Ubuntu环境中使用Docker部署Flask项目的方法,包括创建测试项目、设置数据库、构建Flask和Nginx镜像以及容器编排,其中使用了MySQL 5.7作为数据库,Flask 2.0.2作为Web框架,Gunicorn 20.1.0作为应用服务器,Nginx 1.21.4作为反向代理,并解决了Navicat连接Docker中的MySQL数据库失败的问题。