Recentemente abbiamo eseguito una revisione del codice del codice Java dell'applicazione mobile che è stato sviluppato da un appaltatore esterno e abbiamo notato che tutti gli oggetti dominio / oggetti di trasferimento dati sono scritti con questo stile:
public class Category {
public String name;
public int id;
public String description;
public int parentId;
}
public class EmergencyContact {
public long id;
public RelationshipType relationshipType;
public String medicalProviderType;
public Contact contact;
public String otherPhone;
public String notes;
public PersonName personName;
}
Naturalmente, questi membri sono quindi accessibili direttamente ovunque nel codice. Quando gli abbiamo chiesto questo, gli sviluppatori ci hanno detto che si tratta di un modello di progettazione di miglioramento delle prestazioni abituale che viene utilizzato su piattaforme mobili, perché i dispositivi mobili sono ambienti a risorse limitate. Non sembra avere senso; l'accesso ai membri privati tramite getter / setter pubblici non sembra possa aggiungere un sovraccarico. E i benefici aggiunti dell'incapsulamento sembrano superare i benefici di questo stile di codifica.
Questo è generalmente vero? Questo è qualcosa che viene normalmente fatto su piattaforme mobili per i motivi sopra riportati? Tutti i feedback sono benvenuti e apprezzati -