linitix/nzero-push

View on GitHub
lib/common/requests_manager.js

Summary

Maintainability
F
1 wk
Test Coverage

File requests_manager.js has 432 lines of code (exceeds 250 allowed). Consider refactoring.
Open

var debug            = require("debug")("RequestsManager");
var request          = require("request");
var HTTPStatus       = require("http-status");
var async            = require("neo-async");
var linkHeaderParser = require("parse-link-header");
Severity: Minor
Found in lib/common/requests_manager.js - About 6 hrs to fix

    Function devices has 41 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    RequestsManager.prototype.devices = function (page, perPage, callback) {
      var self     = this;
      var finished = false;
      var data     = [];
    
    
    Severity: Minor
    Found in lib/common/requests_manager.js - About 1 hr to fix

      Function channels has 41 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      RequestsManager.prototype.channels = function (page, perPage, callback) {
        var self     = this;
        var finished = false;
        var data     = [];
      
      
      Severity: Minor
      Found in lib/common/requests_manager.js - About 1 hr to fix

        Function executeRequest has 26 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        function executeRequest(requestOptions, callback) {
          debug("Executing request \"" + requestOptions.url + "\" ...");
        
          request(requestOptions, function (err, res, body) {
            if ( err )
        Severity: Minor
        Found in lib/common/requests_manager.js - About 1 hr to fix

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          RequestsManager.prototype.devices = function (page, perPage, callback) {
            var self     = this;
            var finished = false;
            var data     = [];
          
          
          Severity: Major
          Found in lib/common/requests_manager.js and 1 other location - About 2 days to fix
          lib/common/requests_manager.js on lines 265..323

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 387.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          RequestsManager.prototype.channels = function (page, perPage, callback) {
            var self     = this;
            var finished = false;
            var data     = [];
          
          
          Severity: Major
          Found in lib/common/requests_manager.js and 1 other location - About 2 days to fix
          lib/common/requests_manager.js on lines 377..435

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 387.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          RequestsManager.prototype.appendToChannelSubscriptionForDevice = function (deviceToken, channels, callback) {
            var self = this;
          
            if ( typeof self.authenticated === "boolean" && !self.authenticated )
              return callback(new UnauthorizedAccessError("Resource access denied"));
          Severity: Major
          Found in lib/common/requests_manager.js and 1 other location - About 1 day to fix
          lib/common/requests_manager.js on lines 494..523

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 222.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          RequestsManager.prototype.replaceChannelSubscriptionsForDevice = function (deviceToken, channels, callback) {
            var self = this;
          
            if ( typeof self.authenticated === "boolean" && !self.authenticated )
              return callback(new UnauthorizedAccessError("Resource access denied"));
          Severity: Major
          Found in lib/common/requests_manager.js and 1 other location - About 1 day to fix
          lib/common/requests_manager.js on lines 463..492

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 222.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          RequestsManager.prototype.device = function (deviceToken, callback) {
            var self = this;
          
            if ( typeof self.authenticated === "boolean" && !self.authenticated )
              return callback(new UnauthorizedAccessError("Resource access denied"));
          Severity: Major
          Found in lib/common/requests_manager.js and 2 other locations - About 6 hrs to fix
          lib/common/requests_manager.js on lines 325..349
          lib/common/requests_manager.js on lines 351..375

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 170.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          RequestsManager.prototype.channel = function (name, callback) {
            var self = this;
          
            if ( typeof self.authenticated === "boolean" && !self.authenticated )
              return callback(new UnauthorizedAccessError("Resource access denied"));
          Severity: Major
          Found in lib/common/requests_manager.js and 2 other locations - About 6 hrs to fix
          lib/common/requests_manager.js on lines 351..375
          lib/common/requests_manager.js on lines 437..461

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 170.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 3 locations. Consider refactoring.
          Open

          RequestsManager.prototype.deleteChannel = function (channel, callback) {
            var self = this;
          
            if ( typeof self.authenticated === "boolean" && !self.authenticated )
              return callback(new UnauthorizedAccessError("Resource access denied"));
          Severity: Major
          Found in lib/common/requests_manager.js and 2 other locations - About 6 hrs to fix
          lib/common/requests_manager.js on lines 325..349
          lib/common/requests_manager.js on lines 437..461

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 170.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Identical blocks of code found in 2 locations. Consider refactoring.
          Open

            executeRequest(requestOptions, function (err, body, headers) {
              if ( err )
                return callback(err);
          
              getDeviceQuotaFromResponseHeaders(headers, self);
          Severity: Minor
          Found in lib/common/requests_manager.js and 1 other location - About 40 mins to fix
          lib/common/requests_manager.js on lines 188..196

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 49.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Identical blocks of code found in 2 locations. Consider refactoring.
          Open

            executeRequest(requestOptions, function (err, body, headers) {
              if ( err )
                return callback(err);
          
              getDeviceQuotaFromResponseHeaders(headers, self);
          Severity: Minor
          Found in lib/common/requests_manager.js and 1 other location - About 40 mins to fix
          lib/common/requests_manager.js on lines 126..134

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 49.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 7 locations. Consider refactoring.
          Open

            if ( headers[ Utils.HEADERS.DEVICE_QUOTA ] )
              self.deviceQuota.quota = parseInt(headers[ Utils.HEADERS.DEVICE_QUOTA ]);
          Severity: Major
          Found in lib/common/requests_manager.js and 6 other locations - About 35 mins to fix
          lib/common/requests_manager.js on lines 562..563
          lib/common/requests_manager.js on lines 564..565
          lib/common/requests_manager.js on lines 569..570
          lib/common/requests_manager.js on lines 571..572
          lib/common/requests_manager.js on lines 573..574
          lib/common/requests_manager.js on lines 575..576

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 47.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 7 locations. Consider refactoring.
          Open

            if ( headers[ Utils.HEADERS.DEVICE_QUOTA_OVERAGE ] )
              self.deviceQuota.overage = parseInt(headers[ Utils.HEADERS.DEVICE_QUOTA_OVERAGE ]);
          Severity: Major
          Found in lib/common/requests_manager.js and 6 other locations - About 35 mins to fix
          lib/common/requests_manager.js on lines 560..561
          lib/common/requests_manager.js on lines 562..563
          lib/common/requests_manager.js on lines 569..570
          lib/common/requests_manager.js on lines 571..572
          lib/common/requests_manager.js on lines 573..574
          lib/common/requests_manager.js on lines 575..576

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 47.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 7 locations. Consider refactoring.
          Open

            if ( headers[ Utils.HEADERS.PUSH_QUOTA ] )
              self.pushQuota.quota = parseInt(headers[ Utils.HEADERS.PUSH_QUOTA ]);
          Severity: Major
          Found in lib/common/requests_manager.js and 6 other locations - About 35 mins to fix
          lib/common/requests_manager.js on lines 560..561
          lib/common/requests_manager.js on lines 562..563
          lib/common/requests_manager.js on lines 564..565
          lib/common/requests_manager.js on lines 571..572
          lib/common/requests_manager.js on lines 573..574
          lib/common/requests_manager.js on lines 575..576

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 47.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 7 locations. Consider refactoring.
          Open

            if ( headers[ Utils.HEADERS.DEVICE_QUOTA_REMAINING ] )
              self.deviceQuota.remaining = parseInt(headers[ Utils.HEADERS.DEVICE_QUOTA_REMAINING ]);
          Severity: Major
          Found in lib/common/requests_manager.js and 6 other locations - About 35 mins to fix
          lib/common/requests_manager.js on lines 560..561
          lib/common/requests_manager.js on lines 564..565
          lib/common/requests_manager.js on lines 569..570
          lib/common/requests_manager.js on lines 571..572
          lib/common/requests_manager.js on lines 573..574
          lib/common/requests_manager.js on lines 575..576

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 47.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 7 locations. Consider refactoring.
          Open

            if ( headers[ Utils.HEADERS.PUSH_QUOTA_RESET ] )
              self.pushQuota.reset = parseInt(headers[ Utils.HEADERS.PUSH_QUOTA_RESET ]);
          Severity: Major
          Found in lib/common/requests_manager.js and 6 other locations - About 35 mins to fix
          lib/common/requests_manager.js on lines 560..561
          lib/common/requests_manager.js on lines 562..563
          lib/common/requests_manager.js on lines 564..565
          lib/common/requests_manager.js on lines 569..570
          lib/common/requests_manager.js on lines 571..572
          lib/common/requests_manager.js on lines 573..574

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 47.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 7 locations. Consider refactoring.
          Open

            if ( headers[ Utils.HEADERS.PUSH_QUOTA_REMAINING ] )
              self.pushQuota.remaining = parseInt(headers[ Utils.HEADERS.PUSH_QUOTA_REMAINING ]);
          Severity: Major
          Found in lib/common/requests_manager.js and 6 other locations - About 35 mins to fix
          lib/common/requests_manager.js on lines 560..561
          lib/common/requests_manager.js on lines 562..563
          lib/common/requests_manager.js on lines 564..565
          lib/common/requests_manager.js on lines 569..570
          lib/common/requests_manager.js on lines 573..574
          lib/common/requests_manager.js on lines 575..576

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 47.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          Similar blocks of code found in 7 locations. Consider refactoring.
          Open

            if ( headers[ Utils.HEADERS.PUSH_QUOTA_OVERAGE ] )
              self.pushQuota.overage = parseInt(headers[ Utils.HEADERS.PUSH_QUOTA_OVERAGE ]);
          Severity: Major
          Found in lib/common/requests_manager.js and 6 other locations - About 35 mins to fix
          lib/common/requests_manager.js on lines 560..561
          lib/common/requests_manager.js on lines 562..563
          lib/common/requests_manager.js on lines 564..565
          lib/common/requests_manager.js on lines 569..570
          lib/common/requests_manager.js on lines 571..572
          lib/common/requests_manager.js on lines 575..576

          Duplicated Code

          Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

          Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

          When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

          Tuning

          This issue has a mass of 47.

          We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

          The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

          If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

          See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

          Refactorings

          Further Reading

          There are no issues that match your filters.

          Category
          Status