正在查看 — 思考

从 2020 年开始思考一个问题:如何让代码更好维护?

当时想到的是顶点控制 + 模块化。所以采取的方案是:所有状态逻辑都由 Vuex 控制,Vue 只有 UI 逻辑与 UI 本身,只需要关心 Vuex 的模块在何时加卸载即可。而这个思路在当时有一个很好的选择:dva.js

从 2021 年开始因为产品经理能力滂臭,以致更新问题:如何尽量让一套业务代码到处可跑。因为这个时候的产品只有三个关键词:短时间、业务趋同、不同的产品UX。采取的方案是:在将 UI 和逻辑分开基础上,对代码分层。逻辑代码都是无依赖 TypeScript,利用 React Hooks 封装调用,依赖倒置

这个做法确实保持了一定时间的血压下降,这也给滂臭产品一个得寸进尺的机会 —— 1.5 人月干了四个项目(真是TMD)。好在时间几乎都花在 UI,程序都用 React,小程序也用 Taro3,所以似乎问题不大

但是 2022 年又把血压抬到原点,这下不得不重新思考这个问题

相关阅读:

我确实是「前端已死派」。不过是片面已死,而且死得好

我觉得经历过前几年的互联网都应该知道,市场对于「前端」的需求是有点畸形的。大量的电商微商,无论是各行各业都在追求「数字化」而制造出很多所谓「ToB产品」,再接着是很多公司「嗅」到一种莫名的商机,开始制造这些价值很低的「ToB产品」并进行 SaaS 化、PaaS 化……大批量的为了以此赚快钱的外包……这制造了一个非常务虚的市场,使得这几年前端环境都很乱,大批量没有任何软件知识的人通过一些非常荒谬的培训之后开始自诩「程序员」上岗……这其中还不包括就是看中程序员工资高但本身毫无追求的「冒充程序员」

所以当经济支持不了这样的市场之后,大规模的裁员变得显而易见,许多公司所谓的「大前端」开始分解

所以我说的前端已死,指的是这些毫无意义,不学无术,能轻易替换的前端。因为他们只是在使用 Ant DesignElement-UI 进行无意义的拼凑而已

甚至 Levy 曾经跟我分享:

我认识一个前端说:前端不需要懂业务也能做

关于部分会换到另一篇进行更细致的讨论,把它带出来只是想说明我时刻都在自我怀疑和开始不解。没有人对「科技向善」有感,没有人对「技术发展」有感,没有人对「WebNN」、「WebAssembly / WebGPU」有感。我有时会听到别人问我,用 rust / elixir 能不能赚钱,甚至我见过太多人打开 ChatGPT,在输入框输入「如何利用xx赚钱」甚至是「有什么办法让我有钱」……

直到我遇到了「有效加速主义」

在今年的上半年,看以前以码为友的群,群主在逼问一个群友。详情看这个吧

写代码还有热/激情吗? - 2nthony

说实话,代码这个事情想到还是会激情澎湃,每天还是能维持非常活跃的「创作」思维。但是写代码,还是淡了

原因有很多,体力、生活、工作……

这是又一篇臆想文
如果看到文章的您,觉得给您带来了帮助,那纯属瞎猫撞上死耗子。

TL;DR

  • 组件化在做什么,组件是什么
  • 因为 toB 大型应用的历史原因,前端开始需要前端架构设计。或者说前端工程本就应该要架构设计

所以是什么时候前端开发也发展成需要「软件工程」的时代了,还不是现在用户的电脑越来越 nb 浏览器越来越 nb

工程实践变成燃眉之急绝对是近几年「是个🔨就要上云」造成的 —— 应用都希望变成 SaaS;都希望敏捷无感更新;都希望多端同步(这里不指跨平台)……

演变到这就产生一个问题

这问题真的是土到我了,立刻就发了一个知乎想法。但后来我发现,他会不会想问的是几百年前,在盘古开天辟地之后的react 0.x时代,于是我默默把想法干掉了。

如果是createClassextends React.Component,还有点意思。如果是functional component,那您怎么不用同样很「渐进式」同时又更牛逼的vue呢?

简单对比:

createClassComponent/PureComponent
ES5ES6
propTypes/getDefaultPropComponent.defaultProps/Component.propType
this 已被指定属性 this 不默认指向组件(实例)
mixinmixin(被取消,不建议,做不到,HOC)

其中对我来说,这两个的区别可能mixin最有意思

看到monad我的第一反应竟然是莫纳德…

最近学习haskell的时候(意外的觉得入门不难),接触到函数式编程一个新的思想——Monad

之前在知乎看到轮子哥说:学习haskell是好事,但最好就是学到monad就停下来,然后去学别的。对别的语言帮助很大。

然后在知乎看了一些monad的答案,找了点关于monad的博客看,没看懂。英文的话更不可能了!直接看paper的话我会脆死的。

后来偶然找到一篇文章:Functors, Applicatives, And Monads In Pictures - adit.io

当然有中文版:Functors, Applicatives, And Monads In Pictures - adit.io
图解 Monad - 阮一峰的网络日志

全程特别轻松,我以后写博客也要按照这个节奏来写!很有意思!
(那个抽东西的手直接戳爆了我的笑点…特别是解构传入胶水函数的时候)

关于理解的话,挖个坑以后总结~

但有一点是:我用 Vue-jsx 的时候,几乎全是Monad

一篇思考文,关于JS的reference和Go的指针。(臆想型论文?)

最近投入大量时间接触Golang,了解“指针”的时候,想起了以前学习C语言时对“指针”的疑问:指针是什么。

以前还小不理解指针和野指针,只知道野指针会出现内存溢出或者值不正确的情况。而且网上大多讲指针的文章看起来都很难。就像现在的知乎:一句话能说清楚的东西恨不得从它的诞生还是写起。就连LOL赛评也是这副P样。

以至于我后面对C语言没好感,对C++厌恶,对有“指针”的语言直接没兴趣。

在看到Go的指针的时候,我已经想放弃了。但是想回来,毕竟上一次接触指针已经6年了,也许现在看就能理解出什么呢。(过程中接触的OC根本不能算经验,因为当时完全就是靠抄靠背来写iOS应用,最后还是嫌弃OC麻烦进阶无法理解去学习了swift)


0%