dojo-mars-rover/TECHDEBT.md
2025-10-14 22:52:06 +02:00

1.1 KiB

TODO

  • Reorder Responsibilities
    • long class
    • feature envy
    • inappropriate intimacy
    • data class
    • message chain

RPP

  • Refine Abstractions
    • long parameter list
    • data clump
    • primitive obsession
    • middle man
  • Design Patterns
  • SOLID++

DONE

  • Make ktlint pass checks
  • Readability
    • comments
    • dead code
    • magic strings/numbers
    • bad naming
    • antipattern
    • scopes
  • Complexity
    • long method
    • duplicated code

Mikado

  • Clean up constants and private fields
    • Move move() into Heading.move(Position)
    • Move turnLeft() into Heading.turnLeft()
    • Move turnRight() into Heading.turnRight()
      • Remove HEADING_* constants
        • in move() compare to heading enum
        • in turnRight() compare to heading enum
        • in turnLeft() compare to heading enum
          • state.heading in Rover.constructor to enum
            • Change heading Char in RoverState to Heading enum
              • Create Heading enum