记忆 编码矩阵_编码肌肉记忆

2023-10-12 14:59
文章标签 编码 矩阵 记忆 肌肉

本文主要是介绍记忆 编码矩阵_编码肌肉记忆,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记忆 编码矩阵

介绍 (Introduction)

What do I mean by “Coding Muscle Memory?” Well, most of us know what muscle memory is, you have done something so many times that you can repeat the action without conscious thought. Athletes, Dancers, Musicians, and Martial Artists are some of the examples that come to mind when I think about people with muscle memory. I know I have tasks that are “programmed” into my body as well. I have a horrible time changing keyboards, I have used the same keyboard on my primary home workstation since the mid-1990s, and every time I went to work on a new job, it took me weeks to adjust to having the keys in slightly different places. My dependence on this keyboard is so bad that since the manufacturer of my keyboard no longer makes this model. All of their similar models are different enough that I would have to go through the adjustment. I went online and found a used, but in good shape keyboard of the same model on eBay and purchased it so I wouldn’t need to change.

“编码肌肉记忆”是什么意思? 好吧,我们大多数人都知道什么是肌肉记忆,您已经做了很多次,以至于无意识地重复动作。 当我想到具有肌肉记忆力的人时,就会想到一些运动员,舞者,音乐家和武术家的例子。 我知道我的任务也被“编程”到我的体内。 我的键盘更换时间很糟,自1990年代中期以来,我一直在主要的家用工作站上使用相同的键盘,每次去上一份新工作时,我花了数周的时间来适应与键盘稍有不同的按键。的地方。 我对这个键盘的依赖性很差,以至于我的键盘制造商不再生产这种型号。 他们所有相似的模型都足够不同,因此我必须进行调整。 我上网了,在eBay上找到了一个二手但形状良好的同型号键盘,并购买了它,所以我不需要进行更改。

So, what about coding. Well, I had an interesting experience yesterday. One of my customers asked me to debug a program written in C++ for them. Now, understand it has been ten or twelve years since I regularly programmed in C++. I have kept up on the changes with the language and done some minor “hello world” level programs to try out some of the new features, but debugging a program written in the latest version of C++ that could be a challenge. Then I started reading the code, and like a bolt, it all came back. I was reading C++ as quickly as I now read C#, Java, or JavaScript. It was like the years just disappeared. Within about a minute, I could see what was wrong. Then it took me another two or three minutes to work out what the new syntax was to solve the problem.

那么,编码呢? 好吧,昨天我经历了一次有趣的经历。 我的一位客户要求我为他们调试用C ++编写的程序。 现在,了解到我定期用C ++编程已经有十到十二年了。 我一直在跟上语言的变化,并做了一些次要的“ hello world”级别的程序来尝试一些新功能,但是调试用最新版本的C ++编写的程序可能会遇到挑战。 然后,我开始阅读代码,就像螺栓一样,它们全部回来了。 我阅读C ++的速度和现在阅读C#,Java或JavaScript的速度一样快。 仿佛岁月不见了。 在大约一分钟内,我可以看到出了什么问题。 然后,我花了两到三分钟的时间才能弄清楚解决该问题的新语法。

Image for post
Photo by Christina Morillo from Pexels
Pexels的 Christina Morillo 摄

为什么这很重要? (Why should this matter?)

So what I can hear some of you asking, is he just bragging? Nope, this has a point beyond how cool it felt to be able to pull that off. The point is that our brains have muscle memory as much as our bodies. We learn things that we do hundreds or thousands of times. Our mind having something like muscle memory is vital for us to remember. Not just for the obvious reasons like remembering our kid’s birthdays and our anniversaries. But keep in mind that bad skills are drilled into muscle memory too. So, if you get in a bad habit, oh say returning true from every method no matter what the result and giving the real result in a reference variable passed into the call. You are going to do that by habit.

所以我能听到你们问的,他只是在吹牛吗? 不,这超出了能够实现这一目标的感觉有多酷。 关键是我们的大脑对肌肉的记忆与我们的身体一样多。 我们学习成百上千次的事情。 记住诸如肌肉记忆之类的东西对我们而言至关重要。 不仅仅因为显而易见的原因,例如记住我们孩子的生日和周年纪念日。 但是请记住,坏的技巧也会渗透到肌肉记忆中。 因此,如果您养成不良习惯,请说无论结果如何,都应从每种方法返回true,并在传递给调用的引用变量中提供真实结果。 您将按习惯进行操作。

I grew up on Fortran, and Basic, both of these languages had drastically limited variable naming. So badly limited that the versions of Fortran that I originally programmed in had specific letters for integer, floating-point, or double-precision floating-point values. You didn’t declare a variable. You used one of the languages defined single-letter variables, and prepare for a marathon debugging session if you forgot what that letter had been used for before. Because side effects? Some programmers thought of side effects as features of the language, not bugs. When I moved on to other languages, it took me years to break the single or two-character meaningless variable names. Even today, I find myself slapping an “i” or “j” in as a loop indexer or short term throwaway integer value, just because that is still my reflex. Finding those in code is like a homecoming; it’s an ugly broken home, but still home.

我在Fortran和Basic上长大,这两种语言都大大限制了变量命名。 如此严格的限制使我最初编写的Fortran版本对整数,浮点数或双精度浮点值有特定的字母。 您没有声明变量。 您使用了一种语言定义的单字母变量,并且如果忘记了该字母以前的用途,则准备进行马拉松调试会话。 因为有副作用吗? 一些程序员认为副作用是语言的功能,而不是错误。 当我转向其他语言时,花了我很多年的时间才能打破一个或两个字符的毫无意义的变量名。 即使在今天,我仍然发现自己将“ i”或“ j”当作循环索引器或短期丢弃的整数值,只是因为那仍然是我的反思。 在代码中找到这些就像是一个归宿。 这是一个丑陋的破屋,但仍在。

结论 (Conclusion)

So keep your muscle memory in mind, watch for bad habits, try to break these habits before they become muscle memory. Retrain your coding muscle memory by paying close attention and doing things to build good habits. There is no point in trying to define what good habits are. At the time, single-letter variables with side-effects were a good habit in Fortran. So the idea of what constitutes a good habit change over time, pay attention to yours and decide which are worth changing and which are just your style.

因此,请记住您的肌肉记忆力,注意不良习惯,并在它们成为肌肉记忆力之前设法打破这些习惯。 密切注意并做一些养成良好习惯的习惯,以训练您的编码肌肉记忆。 试图定义什么是好习惯是没有意义的。 当时,具有副作用的单字母变量在Fortran中是个好习惯。 因此,构成好习惯的观念会随着时间而改变,注意您的习惯并决定哪些值得改变,哪些才是您的风格。

Good luck, and have fun.

祝好运并玩得开心点。

翻译自: https://medium.com/the-innovation/coding-muscle-memory-6fdc10cf2ddd

记忆 编码矩阵


http://www.taodudu.cc/news/show-7935185.html

相关文章:

  • 打印菱形java
  • C++继承 菱形继承
  • 打印菱形初学
  • PTA 7-132 画菱形
  • 【dev c++菜单栏以及选项栏等其字体变为菱形问号问题】
  • C++学习---菱形继承问题详解
  • Java菱形
  • [C++系列 70. 菱形继承及菱形虚拟继承
  • C++继承 之 菱形继承
  • 从内存的角度窥探C++多继承中的菱形继承问题
  • 画一个字母组成的菱形
  • txt中文字变为菱形问号的解决办法
  • java 乱码 菱形 问号_python爬虫出现菱形问号乱码的解决方法
  • Unity设置自动隐藏meta文件
  • vue 引入meta
  • opencv--python(五)光流法/背景分割(MOG2)/腐蚀膨胀
  • 关于opencv中背景建模算法KNN和MOG2
  • OpenCV3学习(10.3)基于高斯混合模型的背景建模BackgroundSubtractorMOG/MOG2
  • java byte 异常 录音_java实现动态录音,声卡有声音进来就自动录音 | 学步园
  • iOS开发-AudioToolBox之AudioQueue录音
  • Unity保存录音实际长度并分段上传服务器
  • 索尼录音笔怎么导出录音内容_商务人士的办公利器—索尼录音笔ICD-UX575F体验...
  • audiorecord怎么释放_安卓录音技术整合
  • Verilog HDL抢答器设计
  • 例程7 抢答器
  • 关于三道门背后奖励抉择问题(全解析)
  • VDSL::selectedPort-orientation()
  • VDSL交换机和普通交换机有什么不同
  • 德国电信完成12城市VDSL2部署 宽带上网独享50M
  • linux配置双网卡mode4,Linux-bond网络配置(双网卡绑定)
  • 这篇关于记忆 编码矩阵_编码肌肉记忆的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/196585

    相关文章

    hdu 4517 floyd+记忆化搜索

    题意: 有n(100)个景点,m(1000)条路,时间限制为t(300),起点s,终点e。 访问每个景点需要时间cost_i,每个景点的访问价值为value_i。 点与点之间行走需要花费的时间为g[ i ] [ j ] 。注意点间可能有多条边。 走到一个点时可以选择访问或者不访问,并且当前点的访问价值应该严格大于前一个访问的点。 现在求,从起点出发,到达终点,在时间限制内,能得到的最大

    hdu 4565 推倒公式+矩阵快速幂

    题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

    C++ | Leetcode C++题解之第393题UTF-8编码验证

    题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

    C语言 | Leetcode C语言题解之第393题UTF-8编码验证

    题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

    hdu 6198 dfs枚举找规律+矩阵乘法

    number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

    form表单提交编码的问题

    浏览器在form提交后,会生成一个HTTP的头部信息"content-type",标准规定其形式为Content-type: application/x-www-form-urlencoded; charset=UTF-8        那么我们如果需要修改编码,不使用默认的,那么可以如下这样操作修改编码,来满足需求: hmtl代码:   <meta http-equiv="Conte

    4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

    一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {

    线性代数|机器学习-P35距离矩阵和普鲁克问题

    文章目录 1. 距离矩阵2. 正交普鲁克问题3. 实例说明 1. 距离矩阵 假设有三个点 x 1 , x 2 , x 3 x_1,x_2,x_3 x1​,x2​,x3​,三个点距离如下: ∣ ∣ x 1 − x 2 ∣ ∣ 2 = 1 , ∣ ∣ x 2 − x 3 ∣ ∣ 2 = 1 , ∣ ∣ x 1 − x 3 ∣ ∣ 2 = 6 \begin{equation} ||x

    JS中【记忆函数】内容详解与应用

    在 JavaScript 中,记忆函数(Memoization)是一种优化技术,旨在通过存储函数的调用结果,避免重复计算以提高性能。它非常适用于纯函数(同样的输入总是产生同样的输出),特别是在需要大量重复计算的场景中。为了彻底理解 JavaScript 中的记忆函数,本文将从其原理、实现方式、应用场景及优化方法等多个方面详细讨论。 一、记忆函数的基本原理 记忆化是一种缓存策略,主要用于函数式编

    Python字符编码及应用

    字符集概念 字符集就是一套文字符号及其编码的描述。从第一个计算机字符集ASCII开始,为了处理不同的文字,发明过几百种字符集,例如ASCII、USC、GBK、BIG5等,这些不同的字符集从收录到编码都各不相同。在编程中出现比较严重的问题是字符乱码。 几个概念 位:计算机的最小单位二进制中的一位,用二进制的0,1表示。 字节:八位组成一个字节。(位与字节有对应关系) 字符:我们肉眼可见的文字与符号。