Вот готовый текст для пунктов 4 и 5, можешь вставлять прямо в отчёт.
---
4. Что написать в отчёте (коротко)
· Цель: научиться искать и исправлять ошибки в коде на C#.
· Что делали: взяли класс OrderService, провели ручную проверку, нашли 12 замечаний, исправили.
· Основные проблемы: SQL-инъекция (запрос собирался конкатенацией из userId); мёртвый код (переменная query создавалась, но не использовалась); фальшивая проверка пользователя (bool userExists = true; — всегда истинно); нарушение SRP (один класс и валидирует, и создаёт, и хранит, и печатает); публичные поля orders и connectionString; пустая строка подключения connectionString = ""; магические строки ("Created", "User not found"); магические числа (1000, 0.9); глубокая вложенность if/else в методе Process; метод Save ничего не сохраняет; оборванный класс OrderItem (нет Price и Quantity) и публичные поля в Order; использование double для денег и отсутствие проверки на null.
· Результат: код стал безопаснее, понятнее и надёжнее.
---
5. Вывод
В ходе лабораторной работы был проведён анализ модуля OrderService на C#. Найдены типичные ошибки: SQL-инъекция, мёртвый код, фальшивая проверка пользователя, нарушение принципа единственной ответственности, публичные поля, пустая строка подключения, магические строки и числа, глубокая вложенность условий, бесполезный метод Save, недописанный класс OrderItem и использование double для денежных значений. Все замечания исправлены: данные скрыты (поля сделаны private), запрос к БД параметризован, строки и числа вынесены в константы, вложенные условия заменены на ранний выход, для денег используется decimal, а класс OrderItem дополнен недостающими свойствами Price и Quantity.