再看最后一眼青春的星空

灿烂火光就像盛夏的烟火

欢送挣扎万年文明的巅峰

我们啊

将变星辰永远飘在黑暗宇宙

这个男人来自三体

Tirion

导航

roc-charts 开发笔记:单一来源原则

今天在写代码的时候发现 class 中一些地方会有这样的写法:

    update(options) {
        this.elem.innerHTML = '';
        this.init(options || this.options);
    }

一个方法中接收参数,如果调用此方法的时候没传这个参数则使用 class 内部的属性。

逻辑上看来是没问题,但是会导致一个问题。

如果这里出现 BUG 的,就需要去排查是传入的参数的问题还是内部的属性问题,无形中增加了复杂度。

所以,要么改为统一使用参数的 options,要么统一使用 this.options,不要混用。

现在鼓吹的函数式编程也是在一定程度上解决了这个问题,统一由入参决定出参而不使用外部变量。但是在面向对象编程中所有方法这样操作是不现实的,只能自己提高代码质量。

posted on 2020-06-02 10:04  Tirion  阅读(261)  评论(0)    收藏  举报

The Man from 3body