Ho appena finito di guardare il video del codice pulito di Google su YouTube (vedere link, primo articolo) sulla rimozione delle istruzioni if
dal codice e utilizzare invece il polimorfismo.Come si dovrebbe ridefinire questo condizionale per utilizzare il polimorfismo?
Dopo aver visto il video che ho dato un'occhiata al codice che stavo scrivendo, prima di guardare il video e ho notato alcuni posti in cui ho potuto utilizzare questo metodo, soprattutto luoghi in cui lo stesso tipo di logica è stato implementato molte volte. Quindi un esempio:
Ho un codice come questo.
public int Number
{
get
{
string returnValue;
if (this.internalTableNumber == null)
returnValue = this.RunTableInfoCommand(internalTableName,
TableInfoEnum.TAB_INFO_NUM);
else
returnValue = this.RunTableInfoCommand(internalTableNumber.Value,
TableInfoEnum.TAB_INFO_NUM);
return Convert.ToInt32(returnValue);
}
}
Cosa RunTableInfoCommand non è veramente importante, ma la cosa principale è che non ho molte proprietà con esattamente lo stesso if
statments l'unica cosa che cambia è il TableInfoEnum.
Mi chiedevo se qualcuno potrebbe aiutarmi a refactarlo in modo che faccia ancora la stessa cosa ma senza alcuna istruzione if
?
Perché il voto negativo? –
Perché in origine hai detto "usa il polimorfismo", poi hai detto "oh no, non ho bisogno di polimorfismo" - e avevo già speso una buona parte di quello che pensavo fosse tempo sprecato per rispondere a una domanda che non ti interessava.Ora che "usa il polimorfismo" è tornato, ho rimosso il voto negativo e non ha annullato la mia risposta – tvanfosson
Scusa, non volevo perdere tempo a nessuno, havin 'uno di quei giorni, sono ancora interessato a vedere come la gente lo farebbe comunque. Di nuovo molto dispiaciuto. –