CodingWithAlice

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

重构中的测试

重构中的测试 每当我要重构的时候,第一个步骤永远相同:我得确保即将修改的代码拥有一组可靠的测试 –> 在日常开发中,我们能够体会到修复 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、本质上来说,重构就是在代码写好之后改进它的设计。 程序设计不是在一开始完成的,而是在整个开发过程中逐渐浮现出来。在系统构筑过程中,要学会...

创建一个变量保留上一次值

创建一个变量,保留上一次值 背景: 在回滚部署成功后,我需要提示「回滚成功」 当前部署状态通过在前端页面轮询实现 我的实现方案:通过监听 status 的变化,异步实现 lastStatus 的变化,可以在查询 status 和 lastStatus 的时候,得到 status 为 success 和 lastStatus 为 pending 的一个时机,弹出弹窗: useEffec...

怎么在业务中写可维护性的代码

怎么在业务中写可维护性的代码 本文适用对象:不适合新人小白,适合有一段时间的开发工作经验 本文组成: 写可维护性代码有什么好处?(收益 - Why) 我要付出什么才可以写出可维护性高的代码?(投入 - How) 要做什么?(What) 1、写可维护性代码有什么好处? 首先,全文的基础是:“业务永远是优先的”,在企业里技术的价值是为业务服务来体现的,可维护性代码不是为...

工作 Mac 好用的软件记录

工作 Mac 好用的软件记录 俗话说,磨刀不误砍柴工,我十分喜欢研究一些让电脑用起来很“顺畅”的软件,我喜欢快捷键,喜欢各种让工作、学习更顺畅的小软件;但是我又十分“愚钝”,如果没有直接的操作文档,我很难自己去设计新的脚本来依赖软件实现更好用的功能(我真的很懒,懒得研究,就喜欢开箱即用)。 工作两年多,我也积累了不少好用的软件,是日常一直在使用的一些软件,推荐给大家。很多软件本身是收费的...

Vuex

Vuex vuex是专为 Vue.js 应用程序开发的 状态管理模式。它采用 集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 主要用于管理vue中的数据,可以兄弟组件互相传值; 1、图文解析 上图的解释: ① Vue Components 是我们的 vue 组件,组件会触发(dispatch)一些事件或动作(Actions); ② 我们...