Здесь действительно два отдельных вопроса. Во-первых, изменилось ли что-либо в структуре MVC, так как Стивен Вальтер написал рекомендацию, которая изменит рекомендацию. Ответ на этот вопрос «нет»
Второй вопрос заключается в том, является ли рекомендация хорошей практикой. Я собираюсь не согласиться со Стивеном Уолтером здесь. Его пример немного странный. Его модульный тест для действия «Индекс» пытается утверждать, что действие возвращает явное имя представления, когда оно явно этого не делает. Если бы я написал этот модульный тест, я бы вместо этого утверждал, что имя представления равно пустой строке. Тогда юнит тест пройдёт. Вместо того, чтобы утверждать, что действие определяет представление определенного имени, модульный тест тогда фактически подтвердит, что действие указывает, что представление имеет то же имя, что и действие. Это законная вещь для проверки.
Одним из руководящих принципов, лежащих в основе MVC, является соглашение о конфигурации. Другими словами, вам не нужно указывать что-либо, что является просто обычным значением по умолчанию. Значение по умолчанию для имени представления совпадает с именем действия. Документированное поведение WebFormsViewEngine заключается в поиске представления с тем же именем, что и действие, если не указано отдельное имя представления. Следовательно, не указывать имя представления - это то же самое, что указывать «использовать имя представления по умолчанию».
Поэтому я не считаю хорошей идеей указывать имя представления, совпадающее с именем по умолчанию, и я не думаю, что использование модульного тестирования является хорошей причиной для нарушения этого соглашения.