CodingWithAlice

我的一方小天地,如果对你有帮助,那真的太好了

TS 基本知识梳理

TS 基本知识梳理(泛型) 第四课 除了视频,学习内容还参考了 RYF的TS教程 一、泛型 前因 主要是为了解决类型声明时,函数返回值的类型和参数类型是相关时,无法反映出参数和返回值之间的类型关系。 特点 带有“类型参数” - 函数名后面尖括号的部分<T>,就是类型参数。 泛型可以理解成一段类型逻辑,需要类型参数来表达。 本质 泛型本质上是一个类型函数,通过输...

项目初始化和配置

项目初始化和配置 第一课 :information_desk_person:注意:npx 可以让你使用 npm 中的包功能,而不用手动全局安装这个包 ts 配置 tsconfig.ts -> baseUrl 可以指定项目中绝对路径 eslint 配置 安装:prettier -> 按照指示新建配置文件用于配置:echo {}> .prettierrc.jso...

Chrome 读取的缓存跨域问题

Chrome 读取的缓存跨域问题 参考文章:CORS issue due to aggressive Chrome cache、MDN 常见的缓存模式-Vary响应、MDN - Vary 背景: 在工作遇到先访问 A 域名下的网站,对 react.production.min.js 文件进行缓存, 再访问 B 域名下的网站,同时也请求了 react.production.min.j...

包管理工具

包管理工具 参考文章:JavaScript package managers compared: npm, Yarn, or pnpm? 看到另一篇主要讲 pnpm 实现的博客,也可以了解下 2022年了,你还没用pnpm吗? 背景:在工作遇到 (node14)npm install + npm run build 会打包静态资源失败 yarn + yarn build 成...

重构中的测试

重构中的测试 每当我要重构的时候,第一个步骤永远相同:我得确保即将修改的代码拥有一组可靠的测试 –> 在日常开发中,我们能够体会到修复 bug 通常是比较快的,但是找出 bug 所在却是一场噩梦 测试过程中很重要的一部分,就是测试程序对于结果的报告方式。要么变绿,要么变红,用于自我检验,否则就得耗费大把时间来回对比,这会降低开发速度 -> 测试自动化,让它们检查自己的测试结果...

重构的方法论

重构的方法论 重构经历那么多年,也有很明确的方法论,可以让我们以成本最小的方式,对有问题的代码,进行重构(书中给出的方法,其实和设计模式一样,是一种经验的理论化,产生了具体的方法论,每一种重构方式并不是只有书中提到的方式,但是书中提到的路径一定是相对可执行度比较高,也不容易出错的) 接下来按照书中页码顺序,记录一下学习重构案例的一些心得(笔记让我可以快速搜索关键词找到内容) ps.这里...

修改 useCallback 函数的危险性

修改 useCallback 函数的危险性 useCallback hooks 生成的函数,在依赖不变的情况下,这个函数是不会变化的; 功能 新增一个 lastStatus 存储 上次 status 的状态 问题 当前函数使用了 useCallback ,只在 appId 变更(初始化时)生成函数,后续再访问当前函数,变量 status 一直为 ‘‘,无法读取到上一次接口的值 ...

React那些难懂的Hooks

React那些难懂的Hooks - useEffect 背景 【开骂】垃圾 React 官网,hooks 描述只有晦涩难懂的几个词,用起来一踩一个坑,贼准 推荐学习链接 React 开发者Dan的文章(推荐,React 开发者)、React Hooks 最佳实践(云音乐的最佳实践) 重点摘要 推荐阅读: 如何在useEffect里做数据请求 如何处理错误和加载...

需要重构的特征

需要重构的特征 没有恒定的标准,只有迹象,是否重构需要培养自己的判断力 1、switch 写法 / 条件表达式 虽然便于扩展,但是这样的分支逻辑很容易随着代码堆积而腐坏 —> 解决方案:类型多态(以多态取代条件表达式(272)) 实现方式:创建一个继承体系,多个子类 -> 每个子类包含各自独立的计算逻辑,调用者调用一个多态的函数,由语言分发到不同的子类计算过程中 ...

重构的关键理念

重构的关键理念 1、如果一段代码能正常工作,并且不会再被修改,或者我不需要修改它来帮助我工作,那么完全可以不去重构它 2、代码被阅读和修改的次数,远远多于它被编写的次数 实质:这个修改者可能是我自己,而我总是记不住自己写过的代码 3、本质上来说,重构就是在代码写好之后改进它的设计。 程序设计不是在一开始完成的,而是在整个开发过程中逐渐浮现出来。在系统构筑过程中,要学会...