Некто N. написал код, выводящий список устройств, в которых до определенной даты случились критические сбои. К сожалению, N. учился программированию в начале 90-х годов, и не знаком с современными практиками.
Скачайте проект Incapsulation.Failures и помогите N. отрефакторить его код:
Выделите новый статический метод FindDevicesFailedBeforeDate. Метод должен принимать не более 4-х аргументов. В сигнатуре метода не должно быть Dictionary-типов и коллекций с вложенными дженерик-типами, например, List<List<object>>.
Значения в аргументах devices и failureTypes должны быть инкапсулированы в сущности Device и Failure.
IsFailureSerious, очевидно, не на своем месте.
С day и times тоже не все в порядке.
Сигнатуру старого метода сохраните, чтобы проходили тесты. Старый метод должен преобразовывать аргументы и вызывать новый метод.
Анастасия
НТГСПИ
Спасибо большое за вашу работу!!! Все подробно, досрочно, на все вопросы быстрый и понятны...
Екатерина
УрФУ
Спасибо большое за выполненную работу, не ожидала даже, что все так быстро и замечательно!...
Карина Артуровна
УрФУ
Спасибо, задания выполнены оперативно. Дано подробное и развернутое решение. Понятный почерк.
Анастасия
ГУУ
Отличный исполнитель! Задачи выполнены быстро. Всё очень подробно. Огромное спасибо, Елена!