Важный контекст для дальнейших рекомендаций по проекту VODSTROY.
Это не продакшен-система для реального предприятия, а дипломный проект студента колледжа. Приложение выросло из курсового проекта, который уже сдан, проверен и одобрен. Задача — защитить диплом и показать грамотную работающую систему, а не вывести продукт в промышленную эксплуатацию.
Из-за этого многие твои советы формально верны, но для моей задачи избыточны. Прошу учитывать следующие принципы:
1. Минимализм. Любые добавления должны быть простыми и такими, чтобы я мог сам их сопровождать и при необходимости дорабатывать без усилий. Если что-то можно не добавлять — не добавляй.
2. Не предлагай enterprise-инструменты. Логирование (NLog/Serilog), юнит-тесты, транзакции, абстракции «на вырост» — для десктоп-приложения на одно предприятие это overbuild. Обработка ошибок через MessageBox меня устраивает.
3. Не трогать работающий одобренный код без веской причины. Каждая правка перед защитой — это риск что-то сломать. Менять стоит только то, что реально усиливает проект или может вызвать вопрос у комиссии.
4. Параметризация запросов, маскировка пароля (PasswordChar), контроль доступа через авторизацию, перехват исключений подключения — это уже реализовано и меня устраивает. Дополнительно усложнять не нужно.
Единственное возможное улучшение, которое я рассматриваю, — хеширование паролей, но только встроенным SHA-256 из System.Security.Cryptography, без внешних NuGet-пакетов. Всё остальное оставляем как есть.
Дальше давай рекомендации, исходя из этого контекста: проще, меньше, без усложнений.