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

我同意你的观点,这只是导入一些其他代码的声明,只要你想使用该功能,它就需要在那里。因此,唯一可能的重构是合并两个文件AppConstantsProductConstants. 但这可能不是一个好的重构,因为将应用程序常量和产品常量分开听起来是个好主意。

我宁愿提出一个关于 codeclimate 的问题,也不愿尝试重构它。

于 2016-05-22T14:57:23.420 回答
1

我不确定您是否可以控制您的 repo 的 codeclimate 设置,但您可以更改.codeclimate.yml. 我一直在用我们的 React/Redux 应用程序尝试不同的阈值,目前我们的阈值设置为 65,但我们可能会提高到 75 左右。

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