Table of Contents
News | Article
Ask for Advice, Not Permission
团队协作中,当需要做一件事情可能会问,“嘿,我打算做 X,你同意吗?”,去征询对方的许可。
但是许可意味着对方需要承担一定的责任,当这件事情没做好,可能会被甩锅,“我问过 Y 的,他说可以的。”
所以许可可能会给对方带来责任和压力,让对方不愿意合作。
如果换一种说法,“嘿,我打算做 X,你有什么建议吗?”。
去寻求建议而不是许可,给建议是不需要对方承担责任的,这样对方会更放心地提供意见,从而得到一些中肯的建议。
提供建议相比许可,也让对方多了一些参与感,会让对方对事情的结果增加兴趣。
Bug squash: An underrated interview question
相比上来就问算法题,八股文,作者更推荐一种面试题:
这是您以前从未见过的存储库。以下是如何在此存储库中构建和运行测试。
有一个错误:我们看到结果是 X,但我们想看到 Y。
找到错误原因,或者可能编写一些代码来修复它。
作者认为这类题目的好处有:
- 反映了日常开发的流程。
- 比较有趣。
- 问题明确,面试者不用去揣测面试官到底想问什么。
- 能看到候选人实际开发的一些环境,方法。可能会看到对方能非常熟练地使用 vim,linux,或者调试方法很高效等。
其实就是把一个日常开发问题给面试者,看他如何解决,从而可以在多种方面观察面试者是否符合要求。
Node.js Takes Steps Towards Removing Corepack
NodeJS 计划将 Corepack 删除,不内置在 NodeJS 中。
Corepack 是一个 NodeJS 脚本,允许你使用 npm,yarn,pnpm,而无需安装它们。
促成这个计划,是因为有人建议把 Corepack 开启。
BYTES 作者的评论是:
Let that be a lesson to anyone else who dares to publicly question the authority of npm.
让这成为任何敢于公开质疑 npm 权威的人的一个教训。
有种 “你们敢质疑 npm?那我就把 corepack 删了。” 的喜感。
Good Refactoring vs Bad Refactoring
不好的重构:
- 改变了代码风格,添加不必要的依赖,导致代码的不一致性
- 不必要的抽象,原来一个函数就能解决,没必要抽象一个 class 实现
- 不理解原来的代码逻辑,导致功能丢失
- 不了解业务背景,实现的逻辑没有业务价值
- 过度整合代码(@see: Goodbye, Clean Code)
前阵子做也在重构一段代码逻辑,以为已经完全掌握这段逻辑了,结果测试的时候发现执行出错了。
原来的代码中存在一个 forEach,用于从数组中查找一个符合条件的元素。
我重构的时候就换成了语义更合适的 find,但 find 是只找第一个符合条件的元素。
而原来的逻辑中,数组中存在多个同名的元素,用 forEach 实际会找到最后一个匹配的元素,用 find 是找不到的,这就导致了逻辑执行失败。
有用例去兜底很重要,不然改完都不知道改错了。
Tutorial
Toasts are Bad UX
作者认为 toast 是一种不好的交互,因为 toast 出现的地方和实际交互的地方不在一起,分散了用户注意,增加了用户的操作成本。
不仅是 toast,有一些页面上的交互设计,做一个任务,需要在页面许多不同地方,或者多个页面来来回回的交互才能完成,也很烦人。
好的交互对于用户来说应该是操作便利,认知成本比较低的。
Tool | Library
盘友圈
一个聚合百度网盘,夸克网盘,阿里网盘的搜索网页。