sanger/sequencescape

View on GitHub
lib/accession/accession.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
97%

Accession has no descriptive comment
Open

module Accession
Severity: Minor
Found in lib/accession/accession.rb by reek

Classes and modules are the units of reuse and release. It is therefore considered good practice to annotate every class and module with a brief comment outlining its responsibilities.

Example

Given

class Dummy
  # Do things...
end

Reek would emit the following warning:

test.rb -- 1 warning:
  [1]:Dummy has no descriptive comment (IrresponsibleModule)

Fixing this is simple - just an explaining comment:

# The Dummy class is responsible for ...
class Dummy
  # Do things...
end

Accession::Equality has no descriptive comment
Open

  module Equality
Severity: Minor
Found in lib/accession/accession.rb by reek

Classes and modules are the units of reuse and release. It is therefore considered good practice to annotate every class and module with a brief comment outlining its responsibilities.

Example

Given

class Dummy
  # Do things...
end

Reek would emit the following warning:

test.rb -- 1 warning:
  [1]:Dummy has no descriptive comment (IrresponsibleModule)

Fixing this is simple - just an explaining comment:

# The Dummy class is responsible for ...
class Dummy
  # Do things...
end

Accession::Helpers#load_file doesn't depend on instance state (maybe move it to another class?)
Open

    def load_file(folder, filename)
Severity: Minor
Found in lib/accession/accession.rb by reek

A Utility Function is any instance method that has no dependency on the state of the instance.

Accession#configuration is a writable attribute
Open

    attr_writer :configuration
Severity: Minor
Found in lib/accession/accession.rb by reek

A class that publishes a setter for an instance variable invites client classes to become too intimate with its inner workings, and in particular with its representation of state.

The same holds to a lesser extent for getters, but Reek doesn't flag those.

Example

Given:

class Klass
  attr_accessor :dummy
end

Reek would emit the following warning:

reek test.rb

test.rb -- 1 warning:
  [2]:Klass declares the writable attribute dummy (Attribute)

Accession::Equality#to_a has the variable name 'v'
Open

      attributes.filter_map { |v| instance_variable_get("@#{v}") }
Severity: Minor
Found in lib/accession/accession.rb by reek

An Uncommunicative Variable Name is a variable name that doesn't communicate its intent well enough.

Poor names make it hard for the reader to build a mental picture of what's going on in the code. They can also be mis-interpreted; and they hurt the flow of reading, because the reader must slow down to interpret the names.

There are no issues that match your filters.

Category
Status