RSS The Daily WTF

CodeSOD: Заблокировано

Агата унаследовала фрагмент кода Windows Forms, предназначенный для отключения элементов управления, по-испански "bloquear controles". Код перебирает дочерние элементы управления внутри панелей и групп, чтобы установить их свойство `Enabled`. Однако он избыточно проверяет `Type` каждого элемента управления перед его отключением. Этот подход неэффективен, поскольку все элементы управления наследуют свойство `Enabled`. Код дополнительно усложняется из-за неиспользования операторов `else if`, что приводит к ненужным проверкам. Первоначальный разработчик, вероятно, неправильно понял наследование и функциональность элементов управления. Хуже то, что код выборочно отключает элементы управления в зависимости от типа, что приводит к непредсказуемому поведению пользовательского интерфейса. Агата подтвердила первую проблему: нацелены только определенные типы элементов управления, даже если некоторые из них отсутствуют. Она также указала на ненужное использование `GetType() == typeof()` для проверки типа. Этот код иллюстрирует плохие практики и отсутствие понимания свойств элементов управления Windows Forms. Результатом является излишне сложный, запутанный и трудный в обслуживании код. Наблюдение Агаты подчеркивает неоптимальные проектные решения кода и области для улучшения. Хотя код можно улучшить, просто включив или отключив элементы управления контейнера.
favicon
thedailywtf.com
CodeSOD: Blocked Up
Create attached notes ...