《编程的原则》重新发明车轮感悟之循序渐进
一、背景
前一段时间有朋友说“学习的最好方式就是创造”,即想学某个源码,就自己写一套。
果真如此吗?
今天读《编程的原则》有讲到,可以为了学习的目的而创造。
下面是其中一个节选:
二、学习的原则
2.1 循序渐进
万事万物无非是两个维度,一个是时间维度,一个是空间维度。
从时空维度来讲,学习通常需要循序渐进、先易后难、先整体后局部(先局部后整体)。
日本剑道有一个非常有名的原则 “守、破、离”
守」,一切盡量遵守教條,練習基本功夫直到熟練。這個階段專心學習一種實務,比學習各種理論重要。
「破」,開始打破一些規範限制,可以因地制宜靈活運用。這個階段開始思考理論,也會參考看看其他門派是怎麼做的。
「離」,超越所有規範的限制,自創一格,達到無招勝有招的境界。
这和所谓的“循序渐进”的思想差不多。
这里的学而思其实和 PDCA 理论很相似
你想你的能力就在这里了,你想提高注定就要和现在有些不一样,肯定要改缺点提高优点,那你怎么找到缺点不对的地方,就需要反思(思考)
这个和机器学习算法调优差不多,如果没有实验结果的检查,怎么知道好坏
很多牛逼的人要不然善于思考 要不然喜欢读书 甚至二者皆有
要不然就说程序员就靠着 Google 百度 StackOverflow
就像编程的时候很多你需要的库,人家也遇到过,都已经有开源的了
就像很多人写(研究生)论文,你会发现哪个领域几乎都有牛逼的人,好的算法,虽然写一个新的很厉害,但是大多数也就改改参数,几个算法综合一下,能有一点点改进就可以发不错的论文了
实际学习和工作中技术不好的主要原因有两个方面:学而不思、思而不学。
还是孔子那句话:学而不思则罔,思而不学则殆 真的是经典
很多人就是TL说怎么设计就怎么设计 学而不思 面试的时候问你为啥这么设计就凉了
还有些人是思而不学,想的挺多的 但是基础不扎实 或者懒 导致无法落地 或者想的脱离实际
2.2 以终为始
有些人会说你“从设计者的角度学代码” 是帮助自己学习和理解的一个好方法 。
但是这不是目的!
学习的目的还是学以致用 能够在工作中灵活运用源码的技巧 思想
三、总结
总之学技术要遵循规律,循序渐进、先易后难,然后学而思。
《编程的原则》重新发明车轮感悟之循序渐进相关推荐
- 【笔记】编程的原则:改善代码质量的101个方法
代码必然被修改 Code will be changed 代码不是写完就结束了,它在日后必然会被修改.没有写完就扔的一次性代码. 在编写代码的时候,我们应将"代码会被修改"这一点作 ...
- 小学生学习编程1年,发明自动烫毛肚机和卡路里计算器?
四川人爱吃火锅估计全国人民都知道了,这不是什么稀罕事,吃火锅自然少不了毛肚,烫毛肚的时间是决定毛肚口感的关键,成都一位4年级的小学生学习编程才一年,居然自己发明了自动烫毛肚机. 这下可真的是彻底解放双 ...
- 掌握这 7 个编程设计原则,想做菜鸟都难
编程的工作同石匠的工作相类似,即是技术活,也是体力活,而编写优秀的软件,算是一件比较难的事. 你写的代码好不好,其实没有一个标准能判断,即使团队的伙伴发现你的代码写得差,也不好意思有理有据地指责你,反 ...
- java并发编程:设计原则与模式_java编程设计模式一——策略模式
定义: 策略模式定义了算法族,分别封装起来,让它们之间相互替代.此模式让算法的变化独立于使用算法的客户. 问题描述: 建立一个鸭子Duck的父类,它有很多子类,Duck都会游泳,但是有鸭子会飞,有的鸭 ...
- 面向对象编程 - 六大原则
在做面向对象程序设计时,我们通常会在为如何设计一个类而烦恼.这里简单介绍面向对象编程的几个原则,根据这些原则去设计类以及类与类之间的关系,从而使得程序满足高可维护.可复用等条件. 面向对象编程与面向过 ...
- 编程之余对人品的感悟
由于郭神lite pal非常好用,我也是如他在第一行中对lite pal的开篇介绍中说的一样:用了lite pal你恐怕再也不想碰sqlite了,导致我在年少轻狂的时候,沉迷于框架.随着能力的渐渐提升 ...
- 如何学编程,我的一些学习感悟
入坑已经有一年之久,今天来谈谈自己的学习心得也希望能帮到更多的人,如果有讲的不好或者不准确的地方还请各位大神指正,本文仅仅针对于想要入行的朋友说的. 废话不说现在进入正题,对于如何学习有以下三点要说 ...
- 《编程的原则》读书笔记(一):编程的前提和准则
✏️写作:个人博客,InfoQ,掘金,知乎,CSDN
- 模块化编程设计原则:高内聚,低耦合
高内聚,低耦合 高内聚:一个C文件里面的函数只有相互之间的调用,而没有调用其他文件里面的函数,这样可以视为高内聚.尽量减少不同文件里面函数的交叉引用. 低耦合:一个完整的系统,模块与模块之间,尽可能的 ...
最新文章
- Allan方差分析方法的直观理解
- ontological 词根词缀_英语中最常见的词缀(一)之 re
- CreateBindGroupNode.txt
- Linux测试端口的连通性的四种方法
- 三维GIS开发——WorldWindJava入门
- CMD下查询Mysql中文乱码的解决方法
- 域名的MX设置及校验方法
- 一网打尽中文编码转换---6种编码30个方向的转换
- 自动提示_EXCEL2013版突然打不开,自动修复提示1907错误
- 【BZOJ2049】【codevs1839】洞穴探测,LCT练习
- cmd更改分辨率_快速切换Mac电脑的屏幕分辨率
- Docker学习总结(19)——Google开源的容器集群管理系统Kubernetes介绍
- 心得2-类图、关联关系介绍.doc
- mysql操作SQL语句
- 英特尔驱动程序下载_如何修复英特尔计算机上的“此计算机未验证正在安装的驱动程序”...
- PWM整流器仿真。 在simulink中搭建了PWM整流器,采用电压电流双闭环控制,实现了网侧电压与电流同相位,单位功率因数运行
- 简单聊聊01世界中编码和解码这对磨人的小妖儿
- 今晚8:00 | 杜克大学计算进化智能中心(CEI Lab)—— 高效鲁棒深度学习专题!...
- Unity内截屏实现
- 网络诈骗有哪些防范措施