manuelamarenghi / MyShelfie_ProvaFinaleINGSW2023

Apache License 2.0
1 stars 0 forks source link

Possibile errore in Card.getCoordinates() & Card.setCoordinates() #27

Closed LucaLaPietra closed 1 year ago

LucaLaPietra commented 1 year ago

@manuelamarenghi @Singh10726934 @LiuSilvia2001 mio parere entrambi violano il principio della programmazione ad oggetti della riservatezza delle informazioni e della accessibilità, in quanto getCoordinates() ritorna direttamente l'indirizzo di allocazione privato delle cordinate, che possono così essere modificate dall user, mentre setCoordinates() permette all user di passare direttamente l'indirizzo da "privatizzare", che in realtà può essere acceduto ancora dall' user che può quindi fare modifiche illegali.

Una soluzione per me può essere fare diventare il metodo getCoordinates() di tipo []int per ritronare grazie a getX e getY di Position le coordinate assieme, mentre per il setCoordinates() penso vada creata una copia rispetto alle coordinate passate dall'utente(this.coordinates.x=coordinates,x per esempio).

Nel caso se a tutti va bene scrivetemelo qua nei commenti che lo sistemo o se qualcuno lo vuole modificare lo scriva.

P.S: secondo voi può starci come metodo per segnalare eventuali errori nel codice? perchè cosi per me è molto tracciabile e ci sta,

manuelamarenghi commented 1 year ago

non so io per la set ho messo quella di default che fa intellij

LucaLaPietra commented 1 year ago

@manuelamarenghi però mi sembra sbagliato, perchè penso intellij lo crei in automatico