我使用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认为应该对此进行更改。但是我当时在想,这只是导入库的声明。

你怎么想?我应该如何重构呢?

最佳答案

我同意您的看法,这只是导入其他代码的声明,每当您要使用该功能时,它都必须存在。因此,唯一可能的重构将是合并两个文件AppConstantsProductConstants。但这可能不是一个很好的重构,因为将应用程序常数和产品常数分开听起来不错。

我宁愿使用codeclimate提出问题,也不愿尝试重构它。

07-24 19:48