renyard/validity

View on GitHub
src/background/stats.js

Summary

Maintainability
A
2 hrs
Test Coverage

Function validity has 48 lines of code (exceeds 25 allowed). Consider refactoring.
Open

var validity = (function(validity) {
    "use strict";
    var stats = {},
        ga_elm,
        purge_timeout,
Severity: Minor
Found in src/background/stats.js - About 1 hr to fix

    Function validity has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
    Open

    var validity = (function(validity) {
        "use strict";
        var stats = {},
            ga_elm,
            purge_timeout,
    Severity: Minor
    Found in src/background/stats.js - About 55 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Infix operators must be spaced.
    Open

            for (var i=0; i<=_gaq; i++) {
    Severity: Minor
    Found in src/background/stats.js by eslint

    require spacing around infix operators (space-infix-ops)

    While formatting preferences are very personal, a number of style guides require spaces around operators, such as:

    var sum = 1 + 2;

    The proponents of these extra spaces believe it make the code easier to read and can more easily highlight potential errors, such as:

    var sum = i+++2;

    While this is valid JavaScript syntax, it is hard to determine what the author intended.

    Rule Details

    This rule is aimed at ensuring there are spaces around infix operators.

    Options

    This rule accepts a single options argument with the following defaults:

    "space-infix-ops": ["error", {"int32Hint": false}]

    int32Hint

    Set the int32Hint option to true (default is false) to allow write a|0 without space.

    var foo = bar|0; // `foo` is forced to be signed 32 bit integer

    Examples of incorrect code for this rule:

    /*eslint space-infix-ops: "error"*/
    /*eslint-env es6*/
    
    a+b
    
    a+ b
    
    a +b
    
    a?b:c
    
    const a={b:1};
    
    var {a=0}=bar;
    
    function foo(a=0) { }

    Examples of correct code for this rule:

    /*eslint space-infix-ops: "error"*/
    /*eslint-env es6*/
    
    a + b
    
    a       + b
    
    a ? b : c
    
    const a = {b:1};
    
    var {a = 0} = bar;
    
    function foo(a = 0) { }

    Source: http://eslint.org/docs/rules/

    Infix operators must be spaced.
    Open

            for (var i=0; i<=_gaq; i++) {
    Severity: Minor
    Found in src/background/stats.js by eslint

    require spacing around infix operators (space-infix-ops)

    While formatting preferences are very personal, a number of style guides require spaces around operators, such as:

    var sum = 1 + 2;

    The proponents of these extra spaces believe it make the code easier to read and can more easily highlight potential errors, such as:

    var sum = i+++2;

    While this is valid JavaScript syntax, it is hard to determine what the author intended.

    Rule Details

    This rule is aimed at ensuring there are spaces around infix operators.

    Options

    This rule accepts a single options argument with the following defaults:

    "space-infix-ops": ["error", {"int32Hint": false}]

    int32Hint

    Set the int32Hint option to true (default is false) to allow write a|0 without space.

    var foo = bar|0; // `foo` is forced to be signed 32 bit integer

    Examples of incorrect code for this rule:

    /*eslint space-infix-ops: "error"*/
    /*eslint-env es6*/
    
    a+b
    
    a+ b
    
    a +b
    
    a?b:c
    
    const a={b:1};
    
    var {a=0}=bar;
    
    function foo(a=0) { }

    Examples of correct code for this rule:

    /*eslint space-infix-ops: "error"*/
    /*eslint-env es6*/
    
    a + b
    
    a       + b
    
    a ? b : c
    
    const a = {b:1};
    
    var {a = 0} = bar;
    
    function foo(a = 0) { }

    Source: http://eslint.org/docs/rules/

    There are no issues that match your filters.

    Category
    Status