Abbiamo un metodo chiamato attachDevice (Dispositivo dispositivo) che ha un solo argomento. Abbiamo avuto una situazione per sovraccaricare questo metodo con un parametro in più come attachDevice (Device device, String deviceName) .
con un solo argomento
public void attachDevice(Device device)
{
..
..
}
con doppio argomento
public void attachDevice(Device device, String deviceName)
{
..
device.setName(deviceName);
genericDeviceMap.put(deviceName, device);
..
}
In realtà, il mio team leader mi ha chiesto di trasformare questi due metodi in un'unica chiamata generica. Il metodo sovraccarico ha solo due linee aggiuntive rispetto al metodo singolo (che sono mostrate come sopra). Posso passare una stringa vuota invece di passare il deviceName, perché l'invocazione del metodo overload sarà molto inferiore alla chiamata a singolo argomento di invocazione. Ma quanto è male se si passa il valore nullo poiché non imposto il nome se l'argomento sarà nullo. Quale sarebbe la migliore pratica per questo scenario?
Qualsiasi suggerimento è molto apprezzato.
Nota: il vero problema che ho affermato qui è che
i) Ho voluto unire metodi sovraccaricati in un metodo che dovrebbe essere generico per evitare la duplicazione del codice
ii) serve un valore consigliato per passare al metodo (stringa vuota o valore null) per rispettare le migliori pratiche di codifica.
Dalle risposte fornite, ho ottenuto la soluzione migliore per il mio problema. La domanda collegata che è stato riferito a questa domanda duplicata fornisce anche informazioni sulla gestione del valore nullo, ma non copre il primo punto che ho menzionato nella nota. E non ho scritto codice errato passando null come parametro, poiché sono consapevole che a volte NPE viene lanciato.
Grazie.