Одно из моих приложений поддерживает дерево объектов, отображаемых в виде структуры.Я реализовал длинную процедуру для перемещения или копирования объектов из одного узла в другой.Эта процедура вызывается, например, когда пользователь выполняет перетаскивание в виде структуры.
Это становится забавным, когда объекты перемещаются в пределах одного и того же родителя.Или когда объекты не разрешены в определенных узлах, хотя я позволяю пользователю их туда отбрасывать, я усложняю их окончательное расположение.После нескольких недель и нескольких исправлений ошибок в течение первых нескольких выпусков я заставил эту процедуру всегда вести себя, как ожидалось.Я думаю.Но я не уверен, потому что этот метод был разработан ad hoc .Это означает: когда я нашел что-то, что не работало, я исправил это.
В настоящее время я работаю над улучшением его производительности в нескольких угловых случаях.Например, код, который переиндексирует все затронутые узлы сразу после перемещения любого объекта, логически защищен, но дорогостоящ, когда пользователь перемещает 1000 элементов в начало узла, уже содержащего 1000 элементов.
Когда я смотрю на этот код, мне кажется, что какой-то ученый мог бы в какой-то момент написать главу учебника или что-то на эту тему, и я должен купить эту книгу, прочитать ее, вырвать мою ad hoc код и сделайте это правильный способ.Но я не могу найти ни одного в веб-поиске.Кто-нибудь знает такую книгу?
А может и нет.Может быть, это один из тех случаев, когда после того, как все сказано и сделано, каждое приложение слишком разное, чтобы предложить общее решение?
Спасибо,
Джерри Кринок