/code-coloring

Primary LanguageC#MIT LicenseMIT

Code Coloring - проект для "Проектирование на C#"

  1. Название: Code Coloring

  2. Студенты-участники:

    • Завьялов Артём Борисович РИ-390013
    • Мазырина Алёна Юрьевна РИ-390013
    • Соколов Олег Андреевич РИ-390013
    • Чебыкина Юлия Владимировна РИ-390013
  3. Проблема, которую решает проект:

    • Разработчик хочет, чтобы его код был более читабельным, но при этом он не хочет скачивать тяжеловестные IDE, для этого наше приложение настраивает ему подсветку кода.
  4. Описание основных компонентов, из которых состоит проект:

    • Компонент, отвечающий за преобразование аргументов из вызова программы в аргументы, которые используют сущности внутри кода для использования внутри программы.

    • Компонент, определяющий смысловые единицы языка из текста (переменные, функции, ключевые слова и их группы).

      • Определяет по каждому слову его принадлежность к смысловой единице. Для каждого языка свой собственный набор слов-смысловых единиц, но типы у всех общие.
      • Принимает на вход текст - выдаёт массив из (слово; тип смысловой единицы)
    • Компонент, отвечающий за определение цвета для каждой смысловой единицы языка.

      • Принимает вывод из предыдущего компонента - выдаёт массив из (слово; цвет в RGB или HEX)
    • Компонент, отвечающий за вывод сформерованной раскраски в определённый формат

      • Принимает вывод из предыдущего компонента - вывод текст-структуру целевого формата для записи в файл
  5. Краткое описание точек расширения:

План работы

  1. Создание архитектуры
    • Соколов Олег - главный архитектор
    • Чебыкина Юля
      • До 14.11.2021
  2. Написание простых тестов для всех компонентов для правильного понимания необходимого функционала
    • Соколов Олег - составитель тестов
      • До 18.11.2021
  3. Написание компонентов
    • Завьялов Артём - компонент цветов смысловой группы
    • Чебыкина Юля
    • Мазырина Алёна - компонент, отвечающий за вывод
    • Соколов Олег - компонент разбора аргументов из консоли
      • До 28.11.2021
  4. Написание более сложных тестов для существующего функционала и улучшение текущих компонентов
    • Соколов Олег - главный тестировщик
    • Завьялов Артём
    • Чебыкина Юля
    • Мазырина Алёна
      • До 07.12.2021
  5. Демонстрация MVP - До 07.12.2021

Вклад участников

Завьялов Артём

  • Цветовые палитры
  • Раскрашивание
  • DI-Контейнеры
  • Рефакторинг

Соколов Олег

  • Архитектура
  • Unit тесты для большинства модулей
  • Добавление метрик покрытия кода и мутационного тестирования
  • Парсер аргументов командной строки
  • Рефакторинг

Мазырина Алёна

  • HTML
  • Behaviour-driven development тесты
  • Рефакторинг

Чебыкина Юля

  • Компонент языков программирования и их языковых единиц
  • Python
  • DI-Контейнеры
  • Рефакторинг