R: Readability (bad naming)

This commit is contained in:
Paul Hameteman 2025-10-14 21:27:00 +02:00
commit b00ba62f16
2 changed files with 34 additions and 34 deletions

View file

@ -3,7 +3,7 @@
- [x] comments - [x] comments
- [x] dead code - [x] dead code
- [x] magic strings/numbers - [x] magic strings/numbers
- [ ] bad naming - [x] bad naming
- [ ] scopes - [ ] scopes
# RPP # RPP

View file

@ -1,67 +1,67 @@
package org.example package org.example
class Rover { class Rover {
constructor(p: String) { constructor(commands: String) {
val s = p.split(' ') val command = commands.split(' ')
if (s.size >= ROVER_MINIMUM_NEEDED_COMMANDS) { if (command.size >= ROVER_MINIMUM_NEEDED_COMMANDS) {
rs.xx = s[ROVER_STARTING_POSITION_X].toInt() state.positionX = command[ROVER_STARTING_POSITION_X].toInt()
rs.yy = s[ROVER_STARTING_POSITION_Y].toInt() state.positionY = command[ROVER_STARTING_POSITION_Y].toInt()
rs.dd = s[ROVER_COMMANDLIST][ROVER_COMMANDLIST_FIRST_COMMAND] state.direction = command[ROVER_FACING_DIRECTION][ROVER_COMMANDLIST_DIRECTION]
} }
} }
fun go(cms: String) { fun go(instructions: String) {
for (c in cms) { for (instruction in instructions) {
when (c) { when (instruction) {
COMMAND_TURN_LEFT -> { COMMAND_TURN_LEFT -> {
when (rs.dd) { when (state.direction) {
DIRECTION_EAST -> rs.dd = DIRECTION_NORTH DIRECTION_EAST -> state.direction = DIRECTION_NORTH
DIRECTION_NORTH -> rs.dd = DIRECTION_WEST DIRECTION_NORTH -> state.direction = DIRECTION_WEST
DIRECTION_WEST -> rs.dd = DIRECTION_SOUTH DIRECTION_WEST -> state.direction = DIRECTION_SOUTH
DIRECTION_SOUTH -> rs.dd = DIRECTION_EAST DIRECTION_SOUTH -> state.direction = DIRECTION_EAST
} }
} }
COMMAND_TURN_RIGHT -> { COMMAND_TURN_RIGHT -> {
when (rs.dd) { when (state.direction) {
DIRECTION_EAST -> rs.dd = DIRECTION_SOUTH DIRECTION_EAST -> state.direction = DIRECTION_SOUTH
DIRECTION_SOUTH -> rs.dd = DIRECTION_WEST DIRECTION_SOUTH -> state.direction = DIRECTION_WEST
DIRECTION_WEST -> rs.dd = DIRECTION_NORTH DIRECTION_WEST -> state.direction = DIRECTION_NORTH
DIRECTION_NORTH -> rs.dd = DIRECTION_EAST DIRECTION_NORTH -> state.direction = DIRECTION_EAST
} }
} }
COMMAND_MOVE -> { COMMAND_MOVE -> {
when (rs.dd) { when (state.direction) {
DIRECTION_EAST -> rs.xx++ DIRECTION_EAST -> state.positionX++
DIRECTION_SOUTH -> rs.yy-- DIRECTION_SOUTH -> state.positionY--
DIRECTION_WEST -> rs.xx-- DIRECTION_WEST -> state.positionX--
DIRECTION_NORTH -> rs.yy++ DIRECTION_NORTH -> state.positionY++
} }
} }
} }
} }
} }
val xyd: String val position: String
get() = "${rs.xx} ${rs.yy} ${rs.dd}" get() = "${state.positionX} ${state.positionY} ${state.direction}"
fun pos(): String { fun pos(): String {
return xyd return position
} }
private var rs = RoverState() private var state = RoverState()
} }
class RoverState { class RoverState {
var xx: Int = 0 var positionX: Int = 0
var yy: Int = 0 var positionY: Int = 0
var dd: Char = DIRECTION_NORTH var direction: Char = DIRECTION_NORTH
} }
private const val ROVER_MINIMUM_NEEDED_COMMANDS = 3 private const val ROVER_MINIMUM_NEEDED_COMMANDS = 3
private const val ROVER_STARTING_POSITION_X = 0 private const val ROVER_STARTING_POSITION_X = 0
private const val ROVER_STARTING_POSITION_Y = 1 private const val ROVER_STARTING_POSITION_Y = 1
private const val ROVER_COMMANDLIST = 2 private const val ROVER_FACING_DIRECTION = 2
private const val ROVER_COMMANDLIST_FIRST_COMMAND = 0 private const val ROVER_COMMANDLIST_DIRECTION = 0
private const val COMMAND_TURN_LEFT = 'L' private const val COMMAND_TURN_LEFT = 'L'
private const val COMMAND_TURN_RIGHT = 'R' private const val COMMAND_TURN_RIGHT = 'R'