March 2018
Intermediate to advanced
324 pages
8h 30m
English
While the code that we have done so far fulfills the requirements set by the tests, it looks a bit confusing. If someone read it, it would not be clear as to what the play method does. We should refactor it by moving the code into separate methods. The refactored code will look like the following:
public void play(int x, int y) {
checkAxis(x);
checkAxis(y);
setBox(x, y);
}
private void checkAxis(int axis) {
if (axis < 1 || axis > 3) {
throw new RuntimeException("X is outside board");
}
}
private void setBox(int x, int y) {
if (board[x - 1][y - 1] != '\0') {
throw new RuntimeException("Box is occupied");
} else {
board[x - 1][y - 1] = 'X';
}
}
With this refactoring, we did not change the functionality of the play method. It behaves ...
Read now
Unlock full access