我使用反应&我要开发我的前端网络应用程序:
所以我定义了这样的常量:
/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认为应该更改。但我在想,这只是导入图书馆的声明。
您怎么看?我该如何重构这个?
答案 0 :(得分:2)
我同意你的意见,这只是一个导入其他代码的声明,只要你想使用这个功能就需要它。因此,唯一可能的重构将合并两个文件AppConstants
和ProductConstants
。但这可能不是一个好的重构,因为将app常量和产品常量分开是个好主意。
我宁愿提出codeclimate的问题而不是尝试重构它。
答案 1 :(得分:1)
我不确定您是否可以控制repo的codeclimate设置,但您可以更改.codeclimate.yml
中的质量阈值。我已经使用我们的React / Redux应用程序尝试了不同的阈值,目前我们的设置为65,但我们可能会将其提高到75左右。
---
engines:
duplication:
enabled: true
config:
languages:
javascript:
mass_threshold: 65