2016-05-22 3 views
0

Я использую реагировать & поток развивать свой внешний интерфейс веб-приложение:Как реорганизовать этот тип кода для исправления отчета о дублировании кодека?

Так я определяю константы, как это:

/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 считает, что это должно быть изменено. Но я думал, это всего лишь заявление для импорта библиотеки.

Как вы думаете? Как мне нужно реорганизовать это?

ответ

2

Я согласен с вами, это всего лишь заявление для импорта другого кода, и оно должно быть там, когда вы хотите использовать эту функциональность. Таким образом, единственным возможным решением будет слияние двух файлов AppConstants и ProductConstants. Но это, вероятно, не очень хороший рефакторинг, потому что это отличная идея отделить константы приложения и константы продукта.

Я бы предпочел поставить проблему с codeclimate, чем пытаться реорганизовать это.

1

Я не уверен, что у вас есть контроль над настройками вашего кодека для вашего репо, но вы можете изменить порог массы в своем .codeclimate.yml. Я экспериментировал с различными пороговыми значениями с нашим приложением React/Redux, и в настоящее время у нас установлено 65, но мы можем столкнуться с этим примерно до 75.

--- 
engines: 
    duplication: 
    enabled: true 
    config: 
     languages: 
     javascript: 
      mass_threshold: 65