Составлен план работ + выполнен этап 1

This commit is contained in:
ki.sagidullin
2026-04-05 11:51:06 +05:00
parent 018e2a860e
commit a8f47d29f6
5 changed files with 352 additions and 89 deletions

90
PLAN.md Normal file
View File

@@ -0,0 +1,90 @@
# 📋 ПЛАН РАБОТ: Модульность конфигурации
## Цель
Перенести все константы (настройки) в отдельный файл `config.py` для удобства редактирования человеком, не знакомым с Python.
---
## Этап 1: Создание файла конфигурации
**Файл:** `config.py`
**Что перенести:**
- **Настройки дня**
- Год (`year = 2026`)
- Месяц (`month = 4`)
- **Смены (`SHIFTS`)**
- С 06:00 до 14:30 (смена 0)
- С 08:00 до 16:30 (смена 1)
- С 11:30 до 20:00 (смена 2)
- С 12:30 до 21:00 (смена 3)
- **Операторы (`OPERATORS`)**
- Иванов
- Алексеев
- Сидоров
- Козобородов
- Трудяшкина
- Петрова
- **Предпочтения операторов (`OPERATOR_PREFERENCES`)**
- Иванов: 10, 13 апреля
- Алексеев: понедельники
- Сидоров: 25, 26 апреля
- Козобородов: смена 2 (11:3020:00)
- Трудяшкина: 4 апреля
- Петрова: 8, 29 апреля
**Как редактировать:**
1. Откройте `config.py` в текстовом редакторе
2. Изменяйте значения в квадратных скобках или кавычках
3. Для добавления/удаления дней используйте списки `[25, 26]`
4. Сохраните файл
---
## Этап 2: Обновление `models.py`
**Что делать:**
- Удалить все константы из `models.py`
- Добавить импорт: `from config import *`
- Удалить определения `SHIFTS`, `OPERATORS`, `OPERATOR_PREFERENCES`
---
## Этап 3: Обновление `main.py`
**Что делать:**
- Удалить встроенную генерацию дат
- Использовать импорт из `config.py`
- Добавить вывод в CSV
---
## Этап 4: Создание документации
**Файл:** `USER_GUIDE.md`
**Что включить:**
- Как изменить даты
- Как добавить/удалить операторов
- Как изменить смены
- Как добавить новые предпочтения
---
## Этап 5: Тестирование
**Проверить:**
1. Запуск `python main.py`
2. Корректное считывание дат из `config.py`
3. Генерация расписания
4. Вывод в CSV
---
## Результат
- Конфигурация в одном файле `config.py`
- Простое редактирование без знания Python
- Четкая документация в `USER_GUIDE.md`