SUSE/saptune

View on GitHub
system/rpm.go

Summary

Maintainability
B
5 hrs
Test Coverage
A
92%

Function CheckRpmVers has a Cognitive Complexity of 31 (exceeds 20 allowed). Consider refactoring.
Open

func CheckRpmVers(vers1, vers2 string) int {
    // per definition numbers are greater than alphas
    if vers1 == vers2 {
        return 0
    }
Severity: Minor
Found in system/rpm.go - About 2 hrs 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

Function CheckRpmVers has 14 return statements (exceeds 4 allowed).
Open

func CheckRpmVers(vers1, vers2 string) int {
    // per definition numbers are greater than alphas
    if vers1 == vers2 {
        return 0
    }
Severity: Major
Found in system/rpm.go - About 1 hr to fix

    Function CheckRpmVers has 54 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func CheckRpmVers(vers1, vers2 string) int {
        // per definition numbers are greater than alphas
        if vers1 == vers2 {
            return 0
        }
    Severity: Minor
    Found in system/rpm.go - About 1 hr to fix

      Function CmpRpmVers has 6 return statements (exceeds 4 allowed).
      Open

      func CmpRpmVers(vers1, vers2 string) bool {
          if vers1 == "" {
              // package not installed
              return false
          }
      Severity: Major
      Found in system/rpm.go - About 40 mins to fix

        There are no issues that match your filters.

        Category
        Status