起因还是由于封装的函数库里面有一个精度计算的问题,代码如下:

const addExact(arg1, arg2) => {
    let r1, r2, m;
    try {
        r1 = arg1.toString().split('.')[1].length;
    } catch (e) {
        r1 = 0;
    }
    try {
        r2 = arg2.toString().split(".")[1].length;
    } catch (e) {
        r2 = 0;
    }
    m = Math.pow(10, Math.max(r1, r2));
    return Math.round(arg1 * m + arg2 * m) / m;
};

- 阅读剩余部分 -

消失了快2个月了,博客也没有更新了,一直想写点东西,但是无奈时间不够,天天加班……

加班干嘛呢,搞了两个前端的小玩具,一个是前端可视化平台,另外一个是前端工具函数库:

2020-12-08T04:03:39.png

第一个暂时没有开源,里面用的是我们封装的饿了么组件,后期会封装业务之类。

第二个工具函数库已经开源了,使用TS + Rollup + Jest,但是现在还没有经过大规模验证,还在起步期间,可以来做小白鼠,质量这块专门弄了Jest做单元测试,尽量保证质量,后续我会把一些开发中遇到的问题和总结发出来。

2020-12-08T09:06:20.png

Jest单元测试的几个指标:
stmts是语句覆盖率(statement coverage):是不是每个语句都执行了?
Branch分支覆盖率(branch coverage):是不是每个if代码块都执行了?
Funcs函数覆盖率(function coverage):是不是每个函数都调用了?
Lines行覆盖率(line coverage):是不是每一行都执行了?

目前来看,整体测试覆盖度98%,哈哈。

至于第一个,先挖一个坑,我会在博客的后续文章中,把一些思路和方法总结归纳一下,大家可以共同探讨,然后做出一个通用性较好的东西来开源。

最近消失了一个月,忙公司的一个比较好玩的项目,所以博客断更了一个月。为了证明我是真的在忙,截一个图:

2020-10-15T00:45:54.png

这个项目,后期要上Electron,所以就研究了下自动打包,这次就分享下自动打包的,如果对Action不明白的,可以看我之前的文章,我就不在详细的说了。

- 阅读剩余部分 -

在有些情况下,我们可能需要对一个 prop 进行“双向绑定”。不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以变更父组件,且在父组件和子组件都没有明显的变更来源。

今天扒拉官方文档,发现.sync这块还是理解的不是太好,于是写一个demo,做一下记录。

- 阅读剩余部分 -