Репозиторий со всеми работами курсов FocusStart и ШИФТ для быстрого поиска дубликатов.
Организация файлов проекта:
- 0_sample
- Описание критериев проверки - <задача> - dd.MM.YYYY.txt (содержит критерии для оценки работ + рекомендации по оценке каждого критерия)
- Сводные оценки - шаблон - dd.MM.YYYY.txt (содержит таблицу для заполнения оценок работ по критериям + вычисление результарущей оценки + статистика)
- <год - квартал>
- <ФИО>
- README.MD (содержит ссылку на заявку в JIRA + оценку за ТЗ + ссылку на исходники в gitlab (если есть) + информацию о плагиате)
- <папка исходников>
- <присланные исходники>
- <ФИО>
Рекомендуется использовать следующий алгоритм, на одну работу будет уходить меньше 5 минут:
- Сначала сделть git pull для получения последних изменений в репозитории
- Убеждаемся, что в JIRA на заявке нет исполнителя, и ставим в качестве исполнителя себя
- Если исполнитель уже есть - значит, работу проверяет кто-то другой, переходим к следующей заявке
- Копируем из заявки JIRA ФИО, создаем одноименную папку в соответствующей папке курса
- Если такая папка уже есть - значит, исходники уже кто-то залил, тогда по алгоритму ниже выполняем только недостающие шаги (например, если нет оценки - оцениваем)
- Копируем 0_sample\README.MD в новую папку, ставим ФИО, ссылку на JIRA и ссылку на gitlab (если есть) из заявки JIRA
- Копируем в папку исходники, причем в отдельную папку, чтобы возможный README.MD внутри работы не перезаписал наш README.MD
- Если исходники прислали отдельными файлами - создать папку src и поместить все в нее
- Помечаем внутри исходников папку с исходным кодом Mark diretory as -> Sources Root
- Если это Maven или Gradle - то помечаем папку java, иначе чаще всего нужно помечать либо папку src, либо корневую папку
- Помечаем скопированные файлы в git (Ctrl + Alt + A на папке)
- Выделяем папку и выбираем в меню Code -> Inspect Code
- Убеждаемся, что в Inspection scope выбрана наша директория
- В Inspection profile выбираем Duplicate code only
- Ищем дубликаты:
- Если нашлась копия с другого ФИО:
- Если совпадает только рекурсивный алгоритм сортировки (неправильный, но взятый с wiki) - не считаем плагиатом
- Если совпадает только маленький кусочек, а весь соседний код другой - не считаем плагиатом
- Иначе плагиат:
- Под строкой --- ПЛАГИАТ --- в файле пишем ФИО и ссылку на заявку JIRA той работы, из которой было скопировано решение
- В JIRA данной работы пишем про плагиат, и также указываем ФИО и ссылку на заявку JIRA той работы, из которой было скопировано решение
- Ставим оценку C (плагиатчиков не учим)
- Ставим метку Плагиат_ТЗ на заявку в JIRA
- Если нашлась копия с тем же ФИО (прислал повторно):
- И в старой, и в новой папке в README.MD указываем ссылки на все заявки JIRA, и старые, и новые
- В JIRA данной работы пишем "Он/она же" со ссылкой на старую заявку
- Есил код полностью совпадает - можно поставить ту же оценку, что и в старой заявке, без повторной проверки
- Если нашлась копия с другого ФИО:
- Если работа уникальная (по алгортму выше не поставили оценку) - проверяем и ставим оценку (критерии описаны в файле Описание критериев проверки - XXX.txt)
- Делаем commit с сообщением "<год - квартал><ФИО>"
- Делаем push