Czy powinienem zawsze zwracać IEnumerable <T> zamiast IList <T>?

Kiedy piszę mój DAL lub inny kod, który zwraca zestaw elementów, powinienem zawsze składać moje oświadczenie zwrotne:

public IEnumerable<FooBar> GetRecentItems()

lub

public IList<FooBar> GetRecentItems()

Obecnie w moim kodzie staram się używać IEnumerable na tyle, na ile to możliwe, ale nie jestem pewien, czy jest to najlepsza praktyka? Wydawało się to słuszne, ponieważ zwracałem najbardziej ogólny typ danych, wciąż opisując to, co robi, ale być może nie jest to właściwe.

questionAnswers(13)

yourAnswerToTheQuestion