自学时应该看破“无绪”

上一篇文章 软体开发中的“无绪” 介绍了无绪的概念,讲的是软体开发的过程中,应该思考如何让程式的使用者可以无绪。

这篇则是延伸无绪的概念,讲解开发人员自学的时候,如何找出新技术背后的知识,并且堆叠知识。

正文开始

软体技术的发展都是基于无绪的,每个无绪的新技术中总会埋藏一些知识。如果每一项新技术都是新的知识,那我们就只能把每项技术都试过一遍,才能将技术转化成知识。这样的学习方法使我们没办法用过去的经验来学习新技术,导致较低的学习效率。

幸好人类的大脑有杰出的 抽象能力,也就是我们常说的推理、归纳、一般化、举一反三等等,意思都差不多。

学习一项新技术时,试着将技术抽象一下,排除不相关的细节,找出技术背后的知识。

通常可以透过下列三个问题来找出技术背后的知识:

技术的本质是什么?想解决什么问题?前置知识是什么?

知识总是会和无关紧要的细节纠缠在一起,当知识和细节纠缠在一起时,知识只能被应用在狭窄的情境。若归纳出技术背后的知识,就会发现有许多技术的知识本质是相同的。这帮助你在学习新技术时,能够看透新技术无绪的表面,推理出新技术内部的原理。只要理解内部的原理,新技术也只剩下外面一层皮,学习速度自然加快许多。

学习新知识时也要尽量学习作者的思维。去了解作者为什么要这样设计,以及学习作者如何设计;学会这些思维层面的知识,会帮助「未来的你」进行思考。遇到新技术或问题时,会有更多推测与决策的能力。

重视知识的本质

对一个开发人员来说非常重要,海量的新技术总是不断的成长,让很多人感叹跟不上新技术。新技术数量的不断成长的对策,就是 抓住不变的知识。大量的新技术其实只是一层皮,支撑在背后的技术跟知识都是数十年来不变的东西。演算法及资料结构不会过时;程式设计理论不会过时[^1];开发论及方法论不会过时[^2];良好的编写程式习惯永远不会过时[^3];分析问题与决策的能力不会过时[^4]...

因此在学习新技术的同时,也别忘了阅读软体界大神们的 经典书籍 以及上述 不变的知识。因为这些和思维相关的知识,能够帮助我们进行更好的决策、学习、判断与知识堆叠。

文章内容整理自以下书籍并加以归纳与简化:

软件框架设计的艺术(Practical API Design)暗时间

注脚

[^1]: 程式设计理论: OOP、OOAD
[^2]: 开发论及方法论: CI/CD、DDD、Clean Architecture、BBD、TDD、ATDD、Specification By Example
[^3]: 良好的编写程式习惯: Clean Code、易读程式之美学、单元测试
[^4]: 分析问题与决策: 重构、SOLID 原则、Design Pattern


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章