DataLife Engine / Доделал активацию меню... и радикальная мысль

Доделал активацию меню... и радикальная мысль

 

Вот оно, меню с активированными пунктами. Сегодня день провёл за этой работой и завершил её. Но это я ещё вчера хотел сделать. Так что работа идёт не так быстро, как хотелось бы. НО! Я "доделыванием" активации пунктов меню начал только после обеденного времени. До этого солидный кусок дня я потратил на то, чтобы сделать для диалоговых окон обзора и сохранения файлов и папок поле для ввода пути к папке с возможностью сохранения этого ввода с последующим выводом этих сохраненных предложений в выпадающих списках этих элементов. Использовал для этого контрол авалонии "AutocompleteBox", то есть текстовое поле с автозаполнением.

 

Потом я "прикручивал" логирование событий в классе для работы с базой данных SQLite. Добавил в класс опций свойство с функцией обратного вызова (что в общем-то, костыльно) и повесил в нём обработчик на добавление записей в журнал событий с выводом этих записей на панели журнала событий (на скриншоте). В общем, события базы данных теперь выводятся в интерфейсе программы. Это очень информативно. А информативность у меня - один из главных показателей качества. И на это у меня ушла половина дня.

Ну а что за радикальная мысль такая - спросите вы у меня. Я тут подумал, что многое мне хотелось бы поправить в структуре самого CS-проекта. То есть провести глобальный рефакторинг. Вот что становится видно, когда очертания функциональности программы начинают вырисовываться - так это неидеальность созданной тобой схемы. И тут же возникает желание улучшить эту схему. Роится мысль в голове: нужно всё переделать! Нужно полностью переделать программу для оптимизации организации структуры классов и кода в них для лучшей универсальности и общего порядка. Это ужасная и прекрасная идея! Мне перелопачивать программу месяц или больше, но зато я смогу всё сделать лучше. Чёрт, надо ещё немного поразмыслить над этим до завтрашнего дня. И охота и не охота всё переделывать.

По существу получается, что создал я работающий "черновик" программы, и теперь надо его перенести на "чистовик". О чём я тут говорю? Да о том, что надо создать новый проект и постепенно, с рефакторингом и лучшей организацией перенести старый проект на новый. Да, старый никуда не делся и не денется, но в новый нужно скопипастить! Не уверен пока, но подумать стоит.

Ладно, завтра вы узнаете о том, какое решение я принял. Дело в том, что время не позволяет мне сильно затягивать с программой. Я больше не могу тянуть со сроками её разработки и мне не позволительно тратить месяцы на лишнюю работу. Сейчас программа и так работает, но не хватает лучшей структуры проекта. Ладно, на этом пока всё и до завтра. Что там будет, да леший его знает...

27-12-2022, 18:58
Вернуться назад