学代码是理解就行,还是全部背?

在我没接触编程以前,看到程序,觉得这玩意到底怎么写出来的,写出这些代码的人,也太厉害了吧?

不会很多都要背下来吧?

我小学背课本都费劲,背不出来,中午不准回家吃饭,我就是经常吃不上午饭其中一员,所以到现在,都没回去看过老师,给我造成的阴影太大了。

即将踏入社会接受毒打时,走投无路,又出于对程序员职业的向往,硬着头皮学了java,学了c语言,学了vb,立志转行做个纯软工程师。

可惜,失败了...

后面又转做单片机工程师,就能硬又能软,挺好的。

有时,看到一些零基础小白的问题,挺搞笑的。

那种感觉,就像我和他,是在不同的时空。

他像10几年前的我,我是10几年后的他,连很多问题都一样,比如说这些代码都是怎么想出来的,怎么背得了这么多。

我想说,小老弟,谁能背下来,请奉上你的膝盖,我上周写的代码,现在再看,有些都记不起来了。

所以,现在碰到我未知的东西,首先不是想着自己去摸索,而是找到不同时空那个经验丰富的人,请教他。

之前有老铁喷我,说我们无际单片机的项目课,不是一行一行敲代码的。

其实,我也想做这种教程,但难度太大了,做这种教程,比杀了我还难受。

项目不像开发板教程,把外设调出来就完事了,delay就delay吧...

项目涉及的内容太多了,外设,程序架构,产品功能。

怎么实现功能同时,保证程序可扩展性和移植性,随便拿出一个板块,都是大工程。

其实,最重要的,还是要理解我们的实现思路,然后自己多动手写,多动手写,多动手写。

不排除,一行行讲,思路会更清晰点,但弊端也很明显,你将花费大量时间在看教程上。

编程,核心在于编,在于多动手写,看10遍教程,不如亲自动手写2遍印象深刻。

代码绝对不是靠背的,是先熟悉功能,再熟悉编程思路,最后才是写代码。

所以,代码只是最终结果,大量的烧脑工作,其实在写代码之前。

刚开始,我连做流水灯都不会,好在我比较犟,做梦都在想着程序怎么实现。

如果你有程序问题没解决,不妨试试这招,有时梦里的灵感,真的能解决问题,我把这个归根于玄学。

不过,如果是你第一次做的功能,没有思路,不知道代码怎么写,实在是太正常了。

就像井底之蛙,怎么能想象出外面的世界呢?

前期都是先找参考,先学习别人的思路,先在别人的框架基础上增减自己的功能,最后再尝试自己写,等自己能独立写出来了,就算彻底掌握了。

好记性,不如烂笔头,对于自己做过的东西,要有保存起来的习惯,下次有类似的,直接拿出来改就行了。

积累个5年10年, 你也能成为CV大佬。


最近很多粉丝问我单片机怎么学,我根据自己从业十年经验,累积耗时一个月,精心整理一份「单

片机最佳学习路径+单片机入门到高级教程+工具包」全部无偿分享给铁粉!!!

除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手

教程资料包和详细的学习路径可以看我下面这篇文章的开头

《单片机入门到高级开挂学习路径(附教程+工具)》

《单片机入门到高级开挂学习路径(附教程+工具)》

《单片机入门到高级开挂学习路径(附教程+工具)》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ARM 嵌入式 C 字符串系列 23.3 -- snprintf 函数详细介绍并举例】

请阅读【嵌入式开发学习必备专栏 】 文章目录 snprintf 函数简介函数原型返回值示例总结 snprintf 函数简介 snprintf 函数是 C 语言中的一个标准库函数,用于将格式化的数据写入字符串。它是 printf 函数族的一部分,与 sprintf 类似,但提供了…

【零基础入门芯片课】半导体是什么?

大家好,我是砖一。 今天给大家分享一下半导体的基础知识,普及一下何为半导体,有从事IC,功率元器件,开关电源的朋友可以了解一下,希望对你有用~ 近几年,我们或多或少听过半导体,芯片…

02 Python进阶:CGI编程

什么是CGI CGI是通用网关接口(Common Gateway Interface)的缩写,它是一种标准协议,用于Web服务器执行外部程序或脚本与Web浏览器进行交互。通过CGI,Web服务器能够动态生成网页内容,处理用户提交的表单数据…

33-5 XXE漏洞 - xxe外部实体注入相关工具

1)xxe.sh || OOB XXE tool:一个方便的网站,可以输入您的域名并生成OOB XXE PoC。适用于盲注Out-of-band攻击。(主要) 2)staaldraad/xxeserv :简化FTP服务器的设置,以通过FTP接收OOB XXE攻击 以下是 ./xxeserv 命令的使用说明: Usage of ./xxeserv:-o string记录日志…

js的Proxy和Reflect

目录 Proxy对象的基本操作常见捕获器getset函数相关拦截器 ReflectReflect与基本语法的区别Reflect常见方法 Proxy和Reflect 在 ES6之前,如果我们对对象进行 新增或者删除属性时,仅靠原有的 Object.defineProperty是无法 监听的,基于此&a…

QT4-QT5-VS2019-编译无法打开文件 QtCore/qchar.h

1.系统环境变量 添加QTDIR 添加PATH 2.项目配置 2.1vc目录:包含目录库目录 2.2C/C 常规:附加包含目录QT5的头文件必须在附加包含目录里配置。 2.3链接器:附加库目录 2.4QTProject Settings

镜舟科技荣获第十三届中国智能制造高峰论坛两项大奖

2024年3月29日,由e-works数字化企业网和湖北省中小企业服务中心联合主办,中国中小企业发展促进中心指导的“第十三届中国智能制造高峰论坛暨第二十一届中国智能制造岁末盘点颁奖典礼”在北京圆满落幕。本次论坛汇聚了国内外智能制造领域的专家学者、企业…

有效的职场沟通及其重要性

欢迎来到职场沟通的世界,在这里,每一个词都至关重要,沉默则能传达出无尽的信息。一个有效沟通能力不仅仅是在线办公套件中的可选配件,而是一项绝对必需的能力。今天我们与您分享有效的职场沟通及其重要性。有效的职场沟通可以增强…

Redis高可用及持久化

文章目录 一、Redis高可用1、Redis高可用概述2、Redis高可用策略 二、Redis持久化1、Redis持久化的功能2、Redis持久化的两种方式2.1 RDB持久化2.2 AOF持久化(append only file) 3、RDB持久化3.1 触发条件3.1.1 手动触发3.1.2 自动触发3.1.2.1 配置方式3…

桶排序---

1、算法概念 桶排序:一种非比较的排序算法。桶排序采用了一些分类和分治的思想,把元素的值域分成若干段,每一段对应一个桶。在排序的时候,首先把每一个元素放到其对应的桶中,再对每一个桶中的元素分别排序&#xff0c…

python面向对象的四大支柱:抽象、封装、继承、多态

1. 抽象 在面向对象编程中,抽象是指将类的属性和方法捆绑在一起,形成一个整体。抽象类无法实例化,但可以作为其他类的基类或父类。在Python中,我们使用abc模块定义抽象类,其中至少包含一个抽象方法。抽象方法是无法直…

EF数据持久化(三层架构,公司查,改)

效果图 Model设置具体流程在下面链接中 https://blog.csdn.net/Mr_wangzu/article/details/136805824?spm1001.2014.3001.5501 DAL using System; using System.Collections.Generic; using System.Linq; using System.Web; using WebApplication2.Models; namespace WebAppli…

基于OpenStack官方的Ubuntu 22.04.3 LTS部署OpenStack-Bobcat教程(Neutron使用OVN)

基于OpenStack官方的Ubuntu 22.04.3 LTS部署OpenStack-Bobcat教程(Neutron使用OVN) 注意事项机器详情基础配置Controller节点设置主机名设置静态IP配置hosts Compute节点设置主机名设置静态IP配置hosts 验证配置Controller节点 && Compute节点 配…

web蓝桥杯真题:输入搜索联想

代码及注释&#xff1a; <!-- TODO&#xff1a;请在下面实现需求 --> <span>搜索名字: </span> <input placeholder"输入要搜索的名字" v-model"searchQuery"/> //绑定值 <table><thead><tr> //分割…

结构体,联合体,枚举( 2 )

目录 2.联合体 2.1联合体类型的声明 2.2联合体的特点 2.3联合体的内存大小 3.枚举 3.1枚举类型的声明 3.2枚举类型的优点 3.3枚举类型的使用 2.联合体 联合体&#xff08;Union&#xff09;是另一种复合数据类型&#xff0c;它允许我们在同一内存位置存储不同的数据类型…

UE4_动画基础_ 瞄准偏移1D(Aim Offset Blend Space 1D)

瞄准偏移1D基本上可以完成角色的向左看向右看或者向上看向下看&#xff0c;像混合空间1D一样只有一个轴向可用。 操作步骤&#xff1a; 1、新建第三人称模板项目。 2、右键——动画——瞄准偏移1D 选取骨骼 双击打开 3、瞄准偏移混合的是姿势&#xff0c;我们需要创建姿势。 …

结合创新!多尺度特征融合+Transformer,参数和计算成本减半

通过多尺度特征融合&#xff0c;模型能够捕捉到不同层次的视觉细节&#xff0c;而Transformer的自注意力机制能够在这些不同层次的特征之间建立联系&#xff0c;有效地整合全局上下文信息&#xff0c;让模型能够应对多样化的视觉场景和变化。 这种结合策略充分利用了二者各自的…

Android 手机部署whisper 模型

Whisper 是什么? “Whisper” 是一个由OpenAI开发的开源深度学习模型,专门用于语音识别任务。这个模型能够将语音转换成文本,支持多种语言,并且在处理不同的口音、环境噪音以及跨语言的语音识别方面表现出色。Whisper模型的目标是提供一个高效、准确的工具,以支持自动字幕…

npm(Node Package Manager)

npm&#xff08;Node Package Manager&#xff09;是 Node.js 的默认包管理器&#xff0c;它用于安装、更新、配置和移除 Node.js 应用程序中的包。以下是一些常用的 npm 命令&#xff1a; 1. 安装包 npm install <package> - 安装一个包到当前项目&#xff08;默认为 …

2024.4.3 controller+soem双进程调试

需要数据&#xff1a; 各关节减速器减速比&#xff08;符号与关节方向电机方向相关&#xff09;编码器位数17位131072、20位1048576&#xff0c;23位8388608&#xff08;与关节转角换算到电机端脉冲值有关&#xff09;DH参数&#xff08;主要是连杆长度&#xff0c;建立名义运…