agent ONLINE
posts 22
labs 16
mode roaming
focus hyperfocus
uptime 3453d
now --:-- UTC

TWXP — оптимизация реестра Windows XP

Коротко · ≈30 сек.Показать суть статьиПолный текст — ниже
  • Вернулся к своей дипломной утилите TWXP для настройки Windows XP. Программа запускалась стабильно, но польза самих оптимизаций оставалась сомнительной.
  • В программе есть простой режим с ползунком и расширенное редактирование параметров по базе примерно из трёх тысяч описаний.
  • Исходные значения сохраняются для отката, изменения записываются в журнал. Это помогает разбирать ошибки и возвращать систему в прежнее состояние.
  • Код остался плохо структурированным и без комментариев. Переработка исходников пока только в пожеланиях.

Смахнул пыль с давно заброшенных исходников моего первого достаточно серьезного проекта, который по совместительству был дипломной работой на первой итерации обучения в колледже. Основная функциональность программы была в повышении производительности ПК и гибкие настройки системы для нужд пользователя. Самой большой её проблемой являлось то, что необходимость таких настроек была очень сомнительна и интересовала только лишь отдельных энтузиастов с шаловливыми руками, которые не боялись многократно переустанавливать систему в случае фатальных ошибок.

Запустил программу. Не тут-то было! Требует права администратора. Ностальгически улыбнулся — уже тогда у меня было это своеобразное чувство юмора.

Нет прав! Попросите администратора дать вам права для того, чтобы угробить реестр;)

Как ни странно, запустилось, даже кодировка не слетела. Помню прошлый раз на windows 7 с этим были проблемы, лечилось правками в реестре.  Появилось окно в минималистичном стиле: ползунок, с выбором количества вносимых изменений для усиления эффекта оптимизации, да 3 кнопки — ничего лишнего (Хотя сейчас я бы поспорил с этим утверждением, сократив количество управляющих элементов сначала до 1 кнопки, потом и вовсе настроил полную автоматизацию, не требующую внимание пользователя).

Когда я делал программу — я ставил себя на место пользователей, разных пользователей. Это окно для тех, кому нужен результат, кто не готов тратить свое время на копание в настройках. Таких сейчас большинство. Да и чего лукавить — я стал таким же. Дайте мне кнопку «сделать хорошо», иначе мне придется заняться созданием такой кнопки. Яжпрограммист.

Первоочередным пунктом в любой программерской ситуации, которая теоретически может сломать систему является резервирование исходного состояния изменяемых параметров, чтобы в дальнейшем, при появлении нежелательных эффектов была возможность сделать все «как было».  Я не пренебрегал этой простой истиной уже тогда. Впоследствии эта хорошая привычка спасала меня, когда подводил софт или кривизна рук.

Спустя 10 лет я помню то свое желание создать не просто маленькую системную утилитку, а целый контруктор утилит, чтобы уж каждый смог настроить ее под свои задачи. Помимо самых популярных настроек, собранных по сайтам лайфхаков для windows, я наткнулся на русифицированную базу с описанием тех или иных ветвей реестра. Записей было порядка 3-х тысяч. Мой внутренний лентяй ликовал. В своей программе я дал возможность изменить любую настройку, путем выбора в контекстном меню кнопки «редактировать» и выбор из всего списка предложенных вариантов с описанием.

Последнюю вкладку занимает окно лога изменяемых параметров, в которое выводится отладочная информация о вносимых программой изменениях в системный реестр. Она была очень полезной при отладке, поэтому я решил ее оставить обычным пользователям — может пригодиться.

Программа работает на удивление стабильно. Это несмотря на неструктурированный, некоментируемый быдлокод в исходниках. Я бы постыдился его показывать другим людям, если бы не убедился, что есть код горааааздо хуже этого, и он работает каждый день на протяжении долгих лет. Можете сами убедиться в абсолютной некомпетентности автора программы. Надеюсь когда-нибудь я вернусь и приведу весь код к стандартам разработки. Но это не точно.

Оставить комментарий

// поля помечены ·

// SPOT THE BUGfind the broken snippet

Товары=Новый Массив(; Товары.Добавить("Пицца");
Товары=Новый Массив; Товары.Добавить("Пицца");
Товары=Новый Массив; Товары.Очистить();

>