我使用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认为应该对此进行更改。但是我当时在想,这只是导入库的声明。你怎么想?我应该如何重构呢?
最佳答案
我同意您的看法,这只是导入其他代码的声明,每当您要使用该功能时,它都必须存在。因此,唯一可能的重构将是合并两个文件AppConstants
和ProductConstants
。但这可能不是一个很好的重构,因为将应用程序常数和产品常数分开听起来不错。
我宁愿使用codeclimate提出问题,也不愿尝试重构它。