Skip to main content

7. 周刊第二期;关于工作中排期的事

· 4 min read

💡想法:关于工作中排期的事

前端作为研发的一环,价值是实现需求。

  1. 确认好了需求在开发
  2. 需求方有增量,如视觉提出要修改
    1. 不能因为觉得麻烦就表示不想做,而是让他去找产品,产品再找研发,研发再根据情况排期,不接受「加量不加价」
  3. ddl只是承诺,承诺的实现是建立在对已有情况的合理规划上,自己在已知的情况上规划不好,是自己的问题,要主动cover掉,但如果发生了不在预期内的事情,风险和违约是不可避免的,上报、清晰表达就好。
  4. 质量第一,上了质量差的是事故,不如不上。

语录

弱小和无知从来就不是一个文明毁灭的原因,傲慢才是。 --三体

命令行工具

非常好看的命令行工具 https://fig.io/ 我已经爱上了

学习 RxJS 的资源

React 的 change 行为不符合规范

使用 rxjs 实现可靠的异步搜索框

摘录乐聪同学的分享,分析很棒

异步搜索框的难点

  1. 针对于搜索做 debounce 操作,在用户的输入过程中不立即搜索(性能好,节省网络资源)
  2. 对于输入为空的时候不进行 debounce(体验好,从有搜索内容到无搜索内容立即响应)
  3. 对于 debounce 后的输入去重,不发送重复请求,例如从 a -> ab(debounce 掉,不发送)-> a,可能对 a 发送两次搜索请求(性能好,节省网络资源)
  4. 正确处理时序,不要被早发送的请求响应覆盖晚发送的请求响应(体验好)
  5. 正确处理异常(体验好)
  6. 正确处理 loading,只要还有请求没有返回就维持 loading(体验好)
  7. 在正确实现之前所有需求的前提下维持实现的可维护性(易维护 + 不容易出 Bug)

可靠实现的难度在哪?

如果你有一些编写异步操作的经验,会发现每增加一个 feature 都需要维护一些状态、并且由于逻辑关联,会和原有的逻辑搅在一起,就像一个线团一样。在没有高层次抽象的情况下,很难将不同的异步 feature 进行隔离。随着功能的增多,这个线团越来越大、越来越乱,直到艰难维护、崩溃、重写或者消亡。

所以解决问题的一个思路就是:将不同的 feature 以解耦、内聚的形式实现,相互独立,各自维护,再统一串联。

代码示例 https://codesandbox.io/s/snowy-darkness-l9uv2h

koa-compose 代码分析

https://bytedance.feishu.cn/docx/doxcnurwKBJJksERRVJmu4czXWf https://github.com/SedationH/koa-compose

做了个 release 仓库来放一些安装包

如变收费的 Typora https://github.com/SedationH/release

一些好听的音乐

不再犹豫 恋曲1939

影视

天道 王志文 一个牛人是如何认识世界的 (🐶