CodeSOD: Обнови свой Заметка
The Daily WTF на русском

CodeSOD: Обнови свой

Программист поделился фрагментом кода из проекта миграции с .NET Framework на .NET Core. Код содержит CustomerController с методом действия, который обрабатывает объект Customer. Внутри метода условие проверяет customer.someProperty, чтобы решить, какой перегруженный метод UpsertSomething вызвать. Метод UpsertSomething вызывается с очень длинным списком параметров, многие из которых имеют значение null или значения по умолчанию для логического типа. Автор отмечает, что два вызова UpsertSomething почти идентичны, различаясь только одним логическим параметром. Это предполагает, что оператор if/else был излишним. Вместо этого значение customer.someProperty можно было бы передать напрямую в качестве аргумента в один вызов UpsertSomething. Автор выделяет это как яркий пример не самых идеальных методов кодирования. Предоставленный фрагмент является репрезентативным для более широкой кодовой базы, с которой столкнулись во время миграции. Пост служит примером того, как сложности кода иногда можно избежать с помощью более простых проектных решений.