Ho visto alcune persone che abusano di argomenti predefiniti e mi chiedevo quando è ragionevole usarli. Il problema principale che ho è che a volte mi fa pensare che utilizza l'overload quando non lo è.
Ho visto alcune persone che abusano di argomenti predefiniti e mi chiedevo quando è ragionevole usarli. Il problema principale che ho è che a volte mi fa pensare che utilizza l'overload quando non lo è.
Il modo per dire è scrivere la versione a due funzioni senza l'argomento predefinito e vedere se questo rende il tuo codice più pulito. Lavoriamo nel software. Non costa praticamente nulla per provare cambiamenti del genere e garantisco alle persone il codice che ammiri lo fanno sempre.
Se l'argomento predefinito era appropriato, la funzione di ripartizione riscritta non farà altro che chiamare la funzione originale con l'argomento predefinito. Se non era appropriato, di solito c'è un modo apparente di refactoring in modo che la funzione originale chiami nella funzione split off, o qualche altra semplificazione simile.
Lo faccio quando non ho sempre bisogno di cambiare argomento. Quando qualcosa è il 90% delle volte lo stesso diventa utile avere un parametro predefinito. In un certo senso è una specie di override.
Esempio: ho un metodo che ottiene i dati e ha un sacco di argomenti filtro. È possibile che non tutti i parametri del filtro vengano utilizzati quando l'utente desidera ottenere alcuni dati. Quindi per impostazione predefinita puoi dire isFilteredOnName = false. Quindi solo quando è richiesto il filtro sul nome.
Modifica: lo faccio in c #
Leggi altre domande sui tag architecture