Nell'attuale implementazione della libreria, il metodo getTiles(): Tiles[][], ritorna l'array interno (privato) come riferimento, il che permetterebbe a un utilizzatore esterno della classe di modificarlo.
Dato il modo di utilizzo del metodo, suggerisco di modificarlo con un metodo getTileAt(int x, int y): Tile che ritorni una singola tile alle coordinate specificate: in questo modo, getTiles()[x][y] si trasformerebbe in getTileAt(x, y)...
(per il nome del metodo ci sono diverse possibilità getTile, getTileAt, etc.)
Edit:
Bisogna ricordare che in generale, quando si riceve dall'esterno un riferimento ad una collezione di oggetti, questa andrebbe copiata e non semplicemente assegnata, stesso quando una collezione viene ritornata da un metodo (in altre parole, non bisogna esporre la rappresentazione interna dei dati).
(https://codeql.github.com/codeql-query-help/java/java-internal-representation-exposure/)
Nell'attuale implementazione della libreria, il metodo
getTiles(): Tiles[][]
, ritorna l'array interno (privato) come riferimento, il che permetterebbe a un utilizzatore esterno della classe di modificarlo.Dato il modo di utilizzo del metodo, suggerisco di modificarlo con un metodo
getTileAt(int x, int y): Tile
che ritorni una singola tile alle coordinate specificate: in questo modo,getTiles()[x][y]
si trasformerebbe ingetTileAt(x, y)
... (per il nome del metodo ci sono diverse possibilitàgetTile
,getTileAt
, etc.)Edit: