reprort - Gregory Shchelokaev - #18
Conversation
|
|
||
| % Буквально парой предложений ввести в контекст, обязательно сформулировать цель работы. Если работа делается где-то глубоко внутри проекта, на введение можно потратить больше места, чтобы подвести читателя от сути проекта в целом к тому, что конкретно вам надо было сделать. Только без воды, никакого "в современном мире"! | ||
| % Работа выполняется в компании \dots в рамках проекта по \dots. \textbf{Целью работы является} \dots | ||
| Работа выполняется в рамках проекта UCFS\footnote{Ссылка на UCFS: \url{https://github.com/FormalLanguageConstrainedPathQuerying/UCFS}}. UCFS "--- это инструмент для решения задач анализа графов с дополнительными ограничениями на пути, заданными контекстно-свободной грамматикой какого-либо языка. Целью работы является обеспечение проекта соответствующей инфраструктурой (CI, публикация пакетов, контроль тестового покрытия). |
There was a problem hiding this comment.
UCFS "--- --- странная конструкция. Если Вы про неразрывный пробел, то это UCFS~---
| % Это пояснение актуальности. Тут обязательно надо обрисовать полезность вашей работы для конечного пользователя (и заодно как-то описать, кто такой ваш конечный пользователь --- может, это соседняя команда). Даже если вы делаете работу "глубоко внутри", выясните у консультанта, чем это людям поможет. И опишите, кто выступал в роли "заказчика" вашей работы, т.е. кто и зачем предложил задачу. Можно без конкретных имён, но названия организаций вполне желательны. | ||
| % Результаты работы необходимы для \dots, для конечных пользователей продукта это полезно тем-то, в выполнении работы заинтересованы те-то. | ||
|
|
||
| Результаты работы необходимы для снижения временных издержек разработчиков проекта на регулярное слияние кода, ручного запуска тестов, публикации jar-файлов, а также минимизации рисков при помощи контроля тестового покрытия. Для конечных пользователей продукта это полезно снижением рисков обнаружения некорректной работы программы. В выполнении работы в первую очередь заинтересованы разработчики данной реализации инструмента. |
There was a problem hiding this comment.
разработчики данной реализации инструмента --- наверное, просто разработчики данного инструмента
| % Раздел пишется в свободной форме, с минимумом технических подробностей (можно приводить ссылки на более подробные документы). | ||
|
|
||
| % Тут надо кратко описать идею решения, спозиционировать его относительно предыдущих наработок\footnote{Если на них надо сослаться, то в подстраничной сноске, URL: \url{http://example.com} (дата обращения: не забываем указывать).} и существующих аналогов (тоже предельно кратко), по возможности обосновать принятые решения. | ||
| Основной идеей решения поставленных задач является создание соответствующих конфигурационных файлов (настройка CI/CD), изменение существующих файлов сборки отдельных модулей проекта для создания корректных отчётов о тестовом покрытии, добавление отдельного модуля, отвечающего за публикацию jar-файлов на GitHub Packages. |
There was a problem hiding this comment.
Это не идея, просто решение уже. Пишите проще и конкретнее.
| Основной идеей решения поставленных задач является создание соответствующих конфигурационных файлов (настройка CI/CD), изменение существующих файлов сборки отдельных модулей проекта для создания корректных отчётов о тестовом покрытии, добавление отдельного модуля, отвечающего за публикацию jar-файлов на GitHub Packages. | ||
| % Вот это важно, опишите кратко, что использовали | ||
|
|
||
| Для выполнения поставленных задач код соответствующих программ был написан на языке программирования Kotlin Script и языке сериализации данных YAML. |
There was a problem hiding this comment.
Каких программ? Выше у Вас только про конфиги, практически. Аккуратнее. Может даже подробнее.
|
|
||
| Контроль тестового покрытия: | ||
| \begin{itemize} | ||
| \item ./gradlew solver:jacocoTestCoverageVerification generator:jacocoTestCoverageVerification -- BUILD SUCCESSFUL |
There was a problem hiding this comment.
Это что за заклинание? Текст должен быть текстом. Хоть и с техническими подробностями.
| Контроль тестового покрытия: | ||
| \begin{itemize} | ||
| \item ./gradlew solver:jacocoTestCoverageVerification generator:jacocoTestCoverageVerification -- BUILD SUCCESSFUL | ||
| \item прогон воркфлоу через act pull\_request -- Job succeeded, все 5 шагов выполнены, включая сводную таблицу покрытия |
There was a problem hiding this comment.
"прогон воркфлоу" --- попахивает разговорной речью. Не надо так в отчётах.
|
|
||
| Публикация jar-файлов: | ||
| \begin{itemize} | ||
| \item ./gradlew :publisher:publishToMavenLocal -- jar содержит 125 классов solver+generator, POM -- 6 ссылок на внешние зависимости проекта |
There was a problem hiding this comment.
Тоже пачка каких-то заклинаний. Ещё и тире не совсем правильные.
| \item ./gradlew :publisher:publish --dry-run -- BUILD SUCCESSFUL | ||
| \end{itemize} | ||
|
|
||
| Воспроизведение: |
| \item \texttt{./bin/act release -W .github/workflows/ci-publishing-jar-files.yaml} --- эмулирует CI-воркфлоу публикации в Docker-контейнере | ||
| \end{itemize} | ||
|
|
||
| Вывод: все компоненты CI/CD корректно настроены и проверены -- тесты запускаются, покрытие контролируется, публикация в GitHub Packages работает. |
There was a problem hiding this comment.
- А что мешает провреить прям на гитхаб, пусть и в своём форке?
- тире.
| % ниже списком перечисляете то, что выносится как результат практики. | ||
|
|
||
| \begin{itemize} | ||
| \item Для модуля solver характерны такие показатели тестового покрытия: |
There was a problem hiding this comment.
Таблицы, рисунки и всякое такое интегрируюбся через ссылку. У таблицы \label, в тексте "что-то там происходит в таблице~\ref{...}"
gsvgit
left a comment
There was a problem hiding this comment.
Почитайте, пожалуйста, прдложенные вам всем материалы по оформлению и вёрстке. Ну или у коллег спросите про типичные ошибки.
|
Очень советую всё-таки научиться решать конфликты. Идея: удалить - слить - вернуть — ооочень плохая и за такое на работе Вам дадут по рукам. |
Мне что-то подсказывает, что у большинства проблемы с линейностью истории (да, я включил это требование). А тут как бы надо немного больше повозиться, чтобы привести существующую историю в порядок. Но да, этому стоит научиться. |
|
|
||
| \section{Постановка задачи} | ||
|
|
||
| % Буквально парой предложений ввести в контекст, обязательно сформулировать цель работы. Если работа делается где-то глубоко внутри проекта, на введение можно потратить больше места, чтобы подвести читателя от сути проекта в целом к тому, что конкретно вам надо было сделать. Только без воды, никакого "в современном мире"! |
| Для выполнения поставленных задач соответствующие части данного проекта были написаны на языке программирования Kotlin Script и языке сериализации данных YAML. | ||
| Реализация решения осуществлялась с использованием таких программных продуктов, как платформа непрерывной интеграции GitHub Actions, система сборки проектов Gradle, инструмент контроля тестового покрытия JaCoCo (Java Code Coverage). | ||
|
|
||
| \section{Апробация} |
There was a problem hiding this comment.
Это вряд ли можно назвать апробацией.
There was a problem hiding this comment.
Хорошо. Тогда как вы смотрите на то, чтобы в моём отчёте переименовать данный раздел на "Верификация". В шаблоне были только "Апробация" и "Эксперименты", ни тем ни другим проделанная работа не является, поэтому я пришёл к выводу, что стоит дать этому разделу другоме название.
|
|
||
| Проверка выполненных настроек CI/CD, а также контроля тестового покрытия и публикации пакетов проводилась локально и на GitHub Actions в форке~--- \url{https://github.com/GRIGAeo/UCFS} (дата обращения: \DTMdate{2026-06-14}). | ||
|
|
||
| Для проверки корректности контроля тестового покрытия из корня проекта были запущены следующие команды: |
| \item ./gradlew :publisher:publishToMavenLocal~--- в результате получается jar-файл, содержащий все скомпилированные файлы исходного кода без внешних библиотек, и POM-файл с указанием ссылок на все 6 зависимостей проекта. | ||
| \end{itemize} | ||
|
|
||
| Для проверки корректности публикации пакетов в очередной раз использовалась платформа GitHub Actions в данном форке \url{https://github.com/GRIGAeo/UCFS} (дата обращения: \DTMdate{2026-06-14}). Далее будут представлены варианты завершения workflow \foreignquote{english}{Publish package to GitHub Packages}, который запускается только при выходе новых версий проекта: |
| \centering | ||
| \begin{tabular}{|l|c|c|} | ||
| \hline | ||
| Показатель & Покрытие & Порог \\ |
There was a problem hiding this comment.
Исходя из чего попроги устанавливались?
7d169a1 to
4cab886
Compare
| Для выполнения поставленных задач соответствующие части данного проекта были написаны на языке программирования Kotlin Script и языке сериализации данных YAML. | ||
| Реализация решения осуществлялась с использованием таких программных продуктов, как платформа непрерывной интеграции GitHub Actions, система сборки проектов Gradle, инструмент контроля тестового покрытия JaCoCo (Java Code Coverage). | ||
|
|
||
| \section{Верификация} |
Add report. Проект UCFS: Доработка репозитория