Привет всем.
Столкнулся (и постоянно сталкиваюсь) с дилеммой при проектировании методов и функций: давать методу минимум информации (например, в терминах .NET методу который
пока просто выполняет некую операцию над коллекцией элементов, дать не List<T>, а IEnumerable<T>, т.е. не "список", а просто "последовательность"), или дать какой-либо большой объект, рассчитывая, что в будущем метод, возможно, будет выполнять не только операции над каким-то одним его свойством, а и над другими тоже (сравнивая Print(user.FirstName) и Print(user), тупой пример, но все же).
Как можно обобщить этот выбор? МакКоннела читал давно, и такого там не помню
Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination, but because their imagination reveals worlds that others cannot see.