kylegrantlucas/speedtest

View on GitHub

Showing 8 of 8 total issues

Method Client.GetLatency has a Cognitive Complexity of 24 (exceeds 15 allowed). Consider refactoring.
Open

func (stClient *Client) GetLatency(url string) (result float64, err error) {
    var latency time.Duration
    var minLatency time.Duration
    var avgLatency time.Duration

Severity: Minor
Found in http/http.go - About 1 hr 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

Method Client.GetLatency has 53 lines of code (exceeds 50 allowed). Consider refactoring.
Open

func (stClient *Client) GetLatency(url string) (result float64, err error) {
    var latency time.Duration
    var minLatency time.Duration
    var avgLatency time.Duration

Severity: Minor
Found in http/http.go - About 1 hr to fix

    Method Client.GetConfig has 8 return statements (exceeds 6 allowed).
    Open

    func (stClient *Client) GetConfig() (c Config, err error) {
        c = Config{}
    
        client := &http.Client{
            Timeout: stClient.Timeout,
    Severity: Major
    Found in http/http.go - About 40 mins to fix

      exported function NewClient should have comment or be unexported
      Open

      func NewClient(config *http.SpeedtestConfig, dlsizes []int, ulsizes []int, timeout time.Duration) (*Client, error) {
      Severity: Minor
      Found in client.go by golint

      exported type SpeedtestConfig should have comment or be unexported
      Open

      type SpeedtestConfig struct {
      Severity: Minor
      Found in http/http.go by golint

      exported method Client.GetServer should have comment or be unexported
      Open

      func (client *Client) GetServer(serverID string) (http.Server, error) {
      Severity: Minor
      Found in client.go by golint

      exported function NewDefaultClient should have comment or be unexported
      Open

      func NewDefaultClient() (*Client, error) {
      Severity: Minor
      Found in client.go by golint

      2: cannot find package "github.com/dchest/uniuri" in any of:
      Open

          "github.com/dchest/uniuri"
      Severity: Minor
      Found in client.go by govet
      Severity
      Category
      Status
      Source
      Language