Avevo creato un metodo di estensione che estendeva il tipo di stringa in C #.
// actually checks if the string is empty or null and then looks up the default
// promotion code which is set in the backend admin system.
promocode.HasPromode();
Ho pensato che fosse bello e dandy, ma un altro collega ha pensato che dovrei iniettare il metodo attraverso l'iniezione del costruttore, che dovrebbe implementare un'interfaccia. Penso che questo sia eccessivo per avere una semplice funzione di ricerca per farlo.
Un altro collega pensava che estendere il tipo di stringa rendesse più semplice l'uso sbagliato e lo esponesse a scopi errati.
Quale è giusto? Tutte le soluzioni funzionano bene; ma alcune di queste soluzioni dovrebbero essere la migliore, o importa davvero? Dovrebbe essere importante, perché stiamo avendo quelle discussioni e stiamo cercando di rendere il codice migliore.