From b1d82fe8fdb7ec1cccfe21bd507259e87f6aaa55 Mon Sep 17 00:00:00 2001 From: Paul Hameteman Date: Tue, 14 Oct 2025 22:59:13 +0200 Subject: [PATCH] R: Mikado data class RoverState --- TECHDEBT.md | 8 ++++++++ src/main/kotlin/org/example/RoverState.kt | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) 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, +)