Files
OperatorSchedule/PLAN.md

2.8 KiB
Raw Blame History

📋 ПЛАН РАБОТ: Модульность конфигурации

Цель

Перенести все константы (настройки) в отдельный файл 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