SVlad Профиль Публикации Комментарии Подписки
↓ Living with HipsterGirl & GamerGirl – Выпуск №907: В экстренном случае...
Был у меня такой случай:
Контекстное меню в пользовательском редакторе диаграмм, в котором десяток пунктов, видимость и активность которых зависит от типа и состояния выбранного объекта и режима работы всего приложения.
Пункты меню запихивались в массив, после чего над ним происходили какие-то странные действия на на протяжении 600 строк, смысл которых мне понять так и не удалось.
Первый раз, когда мне понадобилось добавить туда пункт меню, я воткнул его рядом с пунктом с такими же правилами отображения и поправил размер массива.
Когда понадобилось добавить ещё пункт меню с уже более сложными правилам, я понял, что в этом магии с массивом мне не разобраться.
К счастью, у нас была инструкция к программе, где было описано, как пункты меню должны (!) работать. В общем, я выкинул весь этот класс, и написал заново. Всего 20 строк: 7 строк получения булевых переменных состояний, и 13 строк добавления 13 пунктов меня с условиями из булевых формул из тех 7 переменных.
Кто, как и, главное, зачем, написал изначальный алгоритм на 600 строк магических преобразований массива, для меня так и осталось тайной.
Контекстное меню в пользовательском редакторе диаграмм, в котором десяток пунктов, видимость и активность которых зависит от типа и состояния выбранного объекта и режима работы всего приложения.
Пункты меню запихивались в массив, после чего над ним происходили какие-то странные действия на на протяжении 600 строк, смысл которых мне понять так и не удалось.
Первый раз, когда мне понадобилось добавить туда пункт меню, я воткнул его рядом с пунктом с такими же правилами отображения и поправил размер массива.
Когда понадобилось добавить ещё пункт меню с уже более сложными правилам, я понял, что в этом магии с массивом мне не разобраться.
К счастью, у нас была инструкция к программе, где было описано, как пункты меню должны (!) работать. В общем, я выкинул весь этот класс, и написал заново. Всего 20 строк: 7 строк получения булевых переменных состояний, и 13 строк добавления 13 пунктов меня с условиями из булевых формул из тех 7 переменных.
Кто, как и, главное, зачем, написал изначальный алгоритм на 600 строк магических преобразований массива, для меня так и осталось тайной.
Отредактировано «SVlad» 25.02.2023 23:36:49