CoolElvis/gt06_server

View on GitHub
lib/gt06_server/crc.rb

Summary

Maintainability
A
1 hr
Test Coverage

Method has too many lines. [39/15]
Open

  def self.calc(data)
    lookup_table = [
      0x0000, 0x1189, 0x2312, 0x329B, 0x4624, 0x57AD, 0x6536, 0x74BF,
      0x8C48, 0x9DC1, 0xAF5A, 0xBED3, 0xCA6C, 0xDBE5, 0xE97E, 0xF8F7,
      0x1081, 0x0108, 0x3393, 0x221A, 0x56A5, 0x472C, 0x75B7, 0x643E,
Severity: Minor
Found in lib/gt06_server/crc.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method calc has 39 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  def self.calc(data)
    lookup_table = [
      0x0000, 0x1189, 0x2312, 0x329B, 0x4624, 0x57AD, 0x6536, 0x74BF,
      0x8C48, 0x9DC1, 0xAF5A, 0xBED3, 0xCA6C, 0xDBE5, 0xE97E, 0xF8F7,
      0x1081, 0x0108, 0x3393, 0x221A, 0x56A5, 0x472C, 0x75B7, 0x643E,
Severity: Minor
Found in lib/gt06_server/crc.rb - About 1 hr to fix

    CRC16 has no descriptive comment
    Open

    class CRC16
    Severity: Minor
    Found in lib/gt06_server/crc.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

    CRC16 has the name 'CRC16'
    Wontfix

    class CRC16
    Severity: Minor
    Found in lib/gt06_server/crc.rb by reek

    An Uncommunicative Module Name is a module 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