注册

聊聊自己思想怎么改变的

框架之争


xx 框架牛逼,xx 框架写起来舒服,xx 框架做不了大业务,xx 框架坑多,xx框架抄袭 xx 框架。


读者应该看到过类似的言论,不知道读者怎么想。反正我是觉得很没意思……((哥我是SB)


管你什么蛇皮框架,不都得老老实实的给编译成 js 代码给解析器(v8)执行?(wasm另说喽)


双向绑定,虚拟DOM 等等随便一搜答案一堆堆的,但是读者是否有自己去了解过内部的具体实现呢?是否又去尝试将这个思想运用到业务上呢?


有?那么你不用看我这篇流水账了。


没有?那么思考下你看这些做咩?


为了应付面试?然后看完就忘了对吧,下次面试继续看……你这只是为了应付面试官骗自己。


是时候做出改变了,朋友……


怎么改变


我不到哇,我真不知道……我只能把自己的突破经验告诉你。至于读者是否能够摆脱当前的困境,emmmm 随缘把……


1676353480450.png


首先我们先约定一件事情,读者要记住:你是开发者,不是前端开发者,后端开发者更不是客户端开发者。


想起来以前学习 node 的时候,非要找 node后端的代码来练手。node 什么不能写,为什么我非要写 node 后端,为什么要局限于 web 端?我可以用 nodecli 工具,也可以用来写桌面客户端 electron


所以不要陷入身份认知,记住你的身份你是开发者!


不要像我,我学会了 node,看到大家都在用 node 写后端,就认为我只能用 node 写后端!


思想不要局限于某一门语言,某个开发框架,格局打开!


编程思想


我的思想改变,是在去年的3月份,当时在看《代码整洁之道》一书。


当时看到代码规范一章节,正想着吐槽作者这都是老生常谈的问题了,怎么还提出来一章讲。


突然想起来,这本书第一版是 09 年出版的。而我是在 22 年看的这本书, 13 年了这本书中的内容居然还没过时!


1676370379886.png


当时我想明白了,我应该学习代码的思想,而不是框架,框架会层出不穷。


框架思想


angularjs(1.x版本)读者应该听说过把,最初发布时间2009年,14年前就有"双向绑定","template"组件……


2016年 angular2 发布,很多核心理念都来至 angularjs,还带来新的机制 NgModule


一个 NgModule 就是一个容器,用于存放一些内聚的代码块,这些代码块专注于某个应用领域、某个工作流或一组紧密相关的功能。


Angular 的前世今生


最恐怖的是,这个 NgModule 机制还可以用来做后端 Nestjs


不管是 14年前的双向绑定,组件化,还是16年的 NgModule 开发思想其实一直都没怎么改变。


今年流行 xx 框架,过两年则又会流行新的 xx 框架。


与其花大量的时间去研究框架 xx面试题,不如去阅读框架的源码,自己去读去理解框架,看看框架中有什么奇技淫巧,从而运用到自己代码上,给自己带来真正的效益。而不是死记硬背,背完应付面试。


tips: 写代码最难的不是业务,而是怎么设计架构。业务会不停的变化,架构需要应付不停变动的业务。


读源码


多读源码!多读源码!多读源码!


读什么源码都可以,读的时候可以带着疑问去读。


比如说我想知道 vite 是怎么处理 vuetemplate 是怎么解析的。


要么查资料,要么自己翻源码。


vite 需要这个 vite-plugin-vue 插件做 vue 支持,去翻这个源码。发现这个插件里头用了 vue/compiler-sfc 这个包的 compileTemplate 方法,最后找到 compiler-dom 包的 compile 方法(人麻了……)


1676439918093.png


克服了重重困难总算找到 vite处理 vuetemplate 的代码了,仿佛跟着唐长老去去了一波西经。


其实结果并不怎么重要,重要的是整个过程。




  1. 我先去找了 vite-plugin-vue。这是一个知识点 vite 插件




  2. vite-plugin-vue里使用了 vue/compiler-sfc,我又要去 vue 源码里找东西。第二个知识点 vue 源码。




  3. 找到了 compile 第三个知识点 怎么处理 template 的。




在这个过程中我列举了我找到的三个知识点,就算我不去对前两个知识点深入研究,但寻找结果的过程已经无形中都增加了我的知识储备。


那么我深入探究细节呢?


这个问题留给读者把……


推荐资料




  1. 代码整洁之道




  2. HTTP权威指南




  3. 设计模式:可复用面向对象软件的基础




  4. JavaScript设计模式与开发实践




  5. 架构整洁之道




有读者可能要吐槽了,你这怎么推荐的有 Java 代码的书……


还记得上文说的一句吗?


思想不要局限于某一门语言,某个开发框架,格局打开!


我们要学的是"思想"。


作者:MartinYin
链接:https://juejin.cn/post/7200364375148707900
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0 个评论

要回复文章请先登录注册