Бюджет: 4000 UAH Срок: 7 дней
Есть два года опыта программирования на Python. Хочу взяться за проект!
Используя язык программирования Python разработать в виде отдельного пакета для pip консольную интерактивную утилиты статического анализа и модификации программных кодов для языка Dart. Пакет должен быть опубликован на pypi.org.
Cистема должна уметь:
1. Выполнять анализ структуры дерева проекту и обнаруживать файлы, содержащие программные коды на определенном языке программирования (Dart) путем анализа расширений файлов
2. Выполнять анализ соблюдения конвенций по именованию и документирования в рамках отдельных файлов с программными кодами на определенной языке програмувания (Dart) и выявлять несоответствия и ошибки. В случае выявления несоответствий и ошибок, система должна осуществлять соответствующие записи в специальный файл * _verification.log, указывая полный путь к файла, номер строки и тип ошибки или несоответствия в формате:
Id. File Path: Line Number - Error Code: Error Message
3. Выполнять модификации отдельных частей программных кодов, которые не отвечают конвенциям по именованию и документирования для языка Dart, с целью приведения программных кодов к максимальной соответствии данным
Конвенция. Во время модификации программных кодов система должна осуществлять соответствующие записи в специальный файл * _fixing.log, указывая полный путь к файлу, номер строки и выполненную модификацию в формате
Id. File Path: Line Number - Modification Description
В описании пакета необходимо четко указать, какие именно конвенции касательно именования и документирования проверяет и исправляет созданный пакет.
Функциональные требования к системе:
Запрещается использовать любые посторонние инструменты для лексического или синтаксического анализа программных кодов (готовые Лексер, специализированные библиотеки и т.д.) как части системы.
Необходимо реализовать:
- Консольную утилиту (в виде отдельного пакета для pip), которая должна инсталироваться с помощью pip и запускаться из командной строке терминала операционной системы и иметь справку с описанием всех основных команд и ключей.
-Отдельные команды и набор ключей для использования всех функций системы.
-Набор параметров и ключей для анализа и модификации отдельных файлов, каталогов с файлами, каталогов с подкаталогами и файлами.
Ориентированный формат синтаксиса:
python3 SLangССF --verify -(p|d|f) /..
python3 SLangССF -v -(p|d|f) /..
python3 SLangССF --fix -(p|d|f) /..
python3 SLangССF -f -(p|d|f) /..
python3 SLangССF --help
python3 SLangССF -h
SLang - source language
ССF - code conventions fixer
-p - project
-d - directory
-f - file
/.. - path to project, directory or file
Тестирование и демонстрация:
- Для частичного тестирования работы системы нужно сравнивать результаты ее работы с соответствии результатам анализа программных кодов с помощью IDEs JetBrains
- Для демонстрации работы системы необходимо использовать каталоги и файлы из Github или с Gitlab.
Реализация анализатора должна выполняться на языке Python3
Подробная информация о конвеции тут:
http://dartdoc.takyam.com/articles/style-guide/#names
http://dartdoc.takyam.com/articles/style-guide/
http://dartdoc.takyam.com/articles/style-guide/#comments
Дедлайн: 26.10.2020
Важно наличие комментариев к решению и объяснение как работает решение.
Бюджет: 4000 UAH Срок: 7 дней
Есть два года опыта программирования на Python. Хочу взяться за проект!
PHP 73 ставки 4 августа
18 ставок 4 августа
Разработка ботов 71 ставка 31 июля
Парсинг данных 47 ставок 30 июля
85 ставок 29 июля