50 lines
1.3 KiB
Markdown
50 lines
1.3 KiB
Markdown
# TODO
|
|
- [ ] Reorder Responsibilities
|
|
- [ ] long class
|
|
- [ ] feature envy
|
|
- [ ] inappropriate intimacy
|
|
- [ ] data class
|
|
- [ ] message chain
|
|
|
|
# Mikado
|
|
- [ ] Change var to val (immutable)
|
|
- [ ] Rover.turnLeft use copy() on state
|
|
- [ ] Rover.turnRight use copy() on state
|
|
- [ ] Rover.move use copy() on state
|
|
- [ ] Rover.constructor use copy() on state
|
|
- [ ] Change RoverState to Data Class
|
|
|
|
# RPP
|
|
- [ ] Refine Abstractions
|
|
- [ ] long parameter list
|
|
- [ ] data clump
|
|
- [ ] primitive obsession
|
|
- [ ] middle man
|
|
- [ ] Design Patterns
|
|
- [ ] SOLID++
|
|
|
|
# DONE
|
|
- [x] Make ktlint pass checks
|
|
- [x] Readability
|
|
- [x] comments
|
|
- [x] dead code
|
|
- [x] magic strings/numbers
|
|
- [x] bad naming
|
|
- [x] antipattern
|
|
- [x] scopes
|
|
- [x] Complexity
|
|
- [x] long method
|
|
- [x] duplicated code
|
|
-
|
|
# Mikado
|
|
- [x] Clean up constants and private fields
|
|
- [x] Move move() into Heading.move(Position)
|
|
- [x] Move turnLeft() into Heading.turnLeft()
|
|
- [x] Move turnRight() into Heading.turnRight()
|
|
- [x] Remove HEADING_* constants
|
|
- [x] in move() compare to heading enum
|
|
- [x] in turnRight() compare to heading enum
|
|
- [x] in turnLeft() compare to heading enum
|
|
- [x] state.heading in Rover.constructor to enum
|
|
- [x] Change heading Char in RoverState to Heading enum
|
|
- [x] Create Heading enum
|