Skip to content

refactor(cell): apply Remove Setting Method to make mine state immutable #14

Description

@jors2007

Problema Identificado
La clase Cell contaba con el método público setMine(boolean mine), el cual permitía modificar arbitrariamente si una casilla contenía o no una mina en cualquier momento de la ejecución. Permitir la mutabilidad de este dato a mitad de una partida desde clases como Board o Game rompe la integridad del dominio del juego y favorece la aparición de bugs.

Solución Aplicada
Se aplicó la refactorización Remove Setting Method:

Se eliminó por completo el método mutador setMine().

Se declaró el atributo mine como final para garantizar su inmutabilidad tras la construcción del objeto.

Se adaptó la clase Board para definir la presencia de minas de forma inmutable a través del constructor new Cell(true) al inicializar el tablero.

Criterios de Aceptación
[x] Atributo mine marcado como final dentro de Cell.

[x] Eliminado el método setMine(boolean) de la clase.

[x] Creación de minas adaptada en Board.setMines() mediante la instanciación en el constructor.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions