diff --git a/TECHDEBT.md b/TECHDEBT.md index c4d43ae..edf371b 100644 --- a/TECHDEBT.md +++ b/TECHDEBT.md @@ -6,6 +6,14 @@ - [ ] 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 diff --git a/src/main/kotlin/org/example/RoverState.kt b/src/main/kotlin/org/example/RoverState.kt index 2dc282c..f0af6ed 100644 --- a/src/main/kotlin/org/example/RoverState.kt +++ b/src/main/kotlin/org/example/RoverState.kt @@ -1,7 +1,7 @@ package org.example -class RoverState { - var positionX: Int = 0 - var positionY: Int = 0 - var heading: Heading = Heading.NORTH -} +data class RoverState( + var positionX: Int = 0, + var positionY: Int = 0, + var heading: Heading = Heading.NORTH, +)