91 lines
2.8 KiB
Markdown
91 lines
2.8 KiB
Markdown
# 📋 ПЛАН РАБОТ: Модульность конфигурации
|
||
|
||
## Цель
|
||
Перенести все константы (настройки) в отдельный файл `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:30–20: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`
|