最近看了篇文章,「2021」高频前端面试题汇总之JavaScript篇(上),作者:CUGGZ,感觉文章不错,知识点很全。但是有些细节我研究了一下,对自己有些许帮助,特此记录下来。
Home | Archives | Categories | About | Donate |
最近看了篇文章,「2021」高频前端面试题汇总之JavaScript篇(上),作者:CUGGZ,感觉文章不错,知识点很全。但是有些细节我研究了一下,对自己有些许帮助,特此记录下来。
《彼得·林奇的成功投资》,英文书名里有一个副标题,How to use what you already know to make money in the market。这句英文所传达的观点其实更贴近股票投资的本质。
下面按章节对一些个人觉得有用的内容摘录出来。
生活的悲哀之处在于,我们总是老得太快,而聪明得太慢。
—— 本杰明·富兰克林
忙忙碌碌,一年又过去了。
这篇总结从 12.25 开始写,陆陆续续写到 2022 年 1 月 5 日,基本完工了。以下所说“今年”,指 2021 年;“明年”,指 2022 年。
举个例子:今年过得挺快的,明年可能过得更快。
自从用了 TypeScript 之后,爱不释手,已经回不去 JavaScript 时代了。最近在公司各个项目中普及 TypeScript,包括对老代码进行 TypeScript 化改造,比较关心项目 TypeScript 覆盖率的变化情况。
type-coverage
调研后找到两个比较好的包,看起来 type-coverage
的使用情况更好一些。
Package Name | Weekly Downloads | Description |
---|---|---|
type-coverage | 21,838 | *.ts, *.js, *.tsx |
typescript-coverage-report | 19,997 |
真实项目中,我们的代码不光是 js
、ts
,而是包括了 vue
或者 tsx
等。以我们的项目而言,如何支持 Vue 文件分析是个问题。
另外,直接以 type-coverage
按代码行级别的覆盖率统计,可能会让老项目在 TS 化改造过程中非常没有信心——每天改一点,何时是个头?
其实,可以定义不同的 TS 覆盖率级别(类似于自动驾驶级别),我自己想出来的是这样的:
.ts
文件与声明了 lang="ts"
的 .vue
文件的个数占所有文件的比例。.ts
文件与声明了 lang="ts"
且组件以 class
声明的 .vue
文件的个数占所有文件的比例。type-coverage
按行统计得到的 ts 覆盖率。简单总结总结上半年吧。
今年上半年读完了 7 本书。
股票收益率 30% 左右,支付宝整体收益率 6% 左右。
资金量,股票:支付宝 = 10:3,所以整体的加权平均收益率 = 24%,还可以。希望下半年基金和股票都能有点上涨。
而从国内经济发展速度来说,下半年还是比较乐观的。
去年 10 月至今,自己参与了大量内部运营活动管理系统的开发工作,大约到今年2月份的时候,在前任小组长的引导下,自己在新模块的开发中尝试使用 TypeScript 开发。
不试不知道,一试才觉得,真香~~
当年在猫眼用 React 的时候,自己开发过大量的使用了表单的系统,那时候就借助于面向对象的技术封装了很多类,来抽象一些数据结构,当时感觉这样做使得代码很清晰。最近基于 TS 开发的项目,复杂度比当时猫眼的要高更多,TS 提供的静态类型系统可以说提供了很大的帮助。
这篇文章就简单对类型系统、领域模型在前端开发过程中起到的作用,进行总结与思考。
首先要讲讲前端面临的哪些挑战,导致我们必须去思考借助领域模型来降低前端开发中的复杂度。
在现代前端十几年的发展历程中,前端开发人员的定位通常以还原交互视觉、提供视图组件解决方案为主,而后端则通常以业务模型、领域模型等作为自己的聚焦核心。前后端之间以 HTTP 或者 Apache Thrift 这些 RPC 技术进行数据通信,相互之间通常不存在很强的静态代码层面的数据结构约束。
但是渐渐的,业务模型越来越复杂,后端的 Model 越发庞大。前端开发者会发现,如果对于后端接口返回的 Model 没有业务上的理解,那么对整个系统进行迭代、重构甚至简单维护,都寸步难行。
软件系统在经历数量级的巨大变化之后,原有的解决方案通常不堪重负。前端必须有个单独的层来对接后端复杂度的巨大变化。
每个开发人员在进入一个新团队时,一般都会给自己设定较为充足的时间来“了解、熟悉业务”,熟悉了业务之后,开发速度也会明显加快。这个业务,本质上是知识,是概念与逻辑的集合,理论上,也是可以用数据结构来描述的。
我所理解的前端需要的领域模型,就是要找到合适的方法来描述解决这几个基本问题:
TypeScript 给前端开发人员提供了编码阶段降低代码复杂度、提升代码可读性的极佳解决方案,主要就是因为提供了完备的类型系统。
此外,TS 的强制类型检查,也能帮助开发者在编码阶段提前规避很多问题,例如类型错误、参数个数错误等。
又到了总结一年的方方面面的时候了。2020 年真是魔幻的一年。下面就是今年的总结啦。
PS:这份总结从 12.19 开始写,陆陆续续补充,一直写到了 12.31。以后想到什么了可能也会补充进来。
总而言之,在北京工作整整 5 年啦。