0

React と Flux を使用して、フロントエンド Web アプリを開発しています。

したがって、次のように定数を定義します。

/js/constants/AppConstants.js

const KeyMirror = require('keymirror');

module.exports = {
  PayloadSources: KeyMirror({
    SERVER_ACTION: null,
    VIEW_ACTION: null
  })
};

/js/constants/ProductConstants.js

const KeyMirror = require('keymirror');

module.exports = {
  ActionTypes: KeyMirror({
    GET_PRODUCT: null,
    UPDATE_PRODUCT: null,
  })
};

これは完全に機能し、正しいので、これらのコードを Github にプッシュします (Codeclimate 統合を使用)。

Codeclimate は次のように述べています。

Similar code found in 1 other location (mass = 54)
const KeyMirror = require('keymirror');

明らかに、この行const KeyMirror = require('keymirror')は 2 つの異なるファイルで定義されており、Codeclimate はこれを変更する必要があると考えています。しかし、これはライブラリをインポートするための単なるステートメントであると考えていました。

あなたはどのように思いますか?これをどのようにリファクタリングする必要がありますか?

4

2 に答える 2

2

私はあなたに同意します。これは他のコードをインポートするための単なるステートメントであり、機能を使用したいときはいつでもそこにある必要があります。したがって、唯一可能なリファクタリングは、2 つのファイルAppConstantsProductConstants. しかし、これはおそらく良いリファクタリングではありません。なぜなら、アプリの定数と製品の定数を分離するのは良い考えのように思えるからです。

これをリファクタリングするよりも、codeclimate で問題を提起したいと思います。

于 2016-05-22T14:57:23.420 に答える
1

レポの codeclimate 設定を制御できるかどうかはわかりませんが、.codeclimate.yml. React/Redux アプリケーションでさまざまなしきい値を試しており、現在は 65 に設定されていますが、75 前後まで上げる可能性があります。

---
engines:
  duplication:
    enabled: true
    config:
      languages:
        javascript:
          mass_threshold: 65
于 2017-05-12T17:54:46.073 に答える