Direi che si dovrebbe sempre preferire
public void setUnitCost (double unitCost){
this.unitCost = unitCost;
}
in codice Java. Sembra essere la convenzione seguita dalla maggior parte degli sviluppatori Java. Almeno la maggior parte del codice Java che ho visto negli ultimi 15 anni è scritta in questo modo. Questo è il codice di varie codebase, aziende, progetti, frammenti di codice ed esempi. Non seguire le convenzioni non è di per sé una cosa negativa, ma di solito è una causa di frizione (in questo caso offenderete leggermente il riconoscimento del modello di un cervello Java addestrato), e dovrebbe essere giustificato con un guadagno significativo, che non riesco a vedere qui.
Un altro punto sarebbe che il prefisso di variabili / parametri con contesto semantico (notazione ungherese, in / out per i parametri in / out, ecc.) è ampiamente scoraggiato in tutta la comunità di programmazione, al giorno d'oggi. Questi prefissi hanno la tendenza a mentire dopo alcuni refactoring. I setter sono abbastanza semplici, che è sicuro dire che il parametro sarà sempre un parametro (altrimenti non sarebbe più un setter, vero?). Dovresti avere la stessa convenzione per i nomi nella base di codice, però, compresi i setter.