Наша основная задача - успешно сдать экзамен по java. Сделать целиком свой билет во время экзамена практически невозможно, именно поэтому была создана наша команда, которая заранее подготовит билеты, и на экзамене каждый возьмет готовое решение. С одной стороны, звучит здорово, а с другой стороны, вероятность словить бан (-20 баллов) становится намного выше. Чтобы избежать наихудшего исхода, каждый участник обязуется следовать правилам, указанным ниже. Также, учитывая, что много людей будет работать с одним репозиторием, были сформированы правила, цель которых стандартизировать общую работу, об этом также ниже.
Приятного ознакомления!
- Каждый участник должен как минимум выполнить один билет и написать к нему тесты.
Тесты нужны для увеличения гарантий, что написанный код ожидаемо работает и удовлетворяет условию билета (во время экзамена времени на полное переделывание тикета не будет).
Тестов очень много не надо - достаточно небольших, которые проверяют, что вспомогательные функции ожидаемо работают, и целиком программа ведет себя надлежащим образом.
- Запрещается делиться билетами и решениями до и после сдачи экзамена.
Такая предосторожность нужна, чтобы никто иной не поделился с другим, другой не поделилися с третьим, и по итогу все не дошло до преподавателей, и билеты были полностью изменены, что сведет всю проделанную работу на нет.
Делясь решениями, вы подставляете и себя, и сокомандников, и человека, с которым делитесь, потому что вероятность словить бан существенно возрастает.
- Необходимо следовать правилам работы с репозиторием.
Это нужно для поддержания порядка и консистентности.
Если где-то возникли вопросы - смело пишите в чат, обязательно поможем.
- Если хотите добавить друга в нашу команду - прежде всего расскажите ему про требования к участникам. Если он согласен им следовать - можете добавить, пока общее количество участников <= 25. Если не готов, то в нашей команде ему, к сожалению, не место.
На экзамене максимум будет 1 билет у четверых. Число 25 составляет 75% от общего количества билетов и понижает вероятность получить одинаковые билеты, следовательно, вероятность получить бан существенно ниже.
Прежде чем выбрать билет вы смотрите в таблицу, выбираете незанятый, проставляя свой ник телеграма в столбце Выполняет и не забываете проставить соответствующий цвет в столбце Статус. Если вы заранее знаете проверяющего, то можете проставить и его.
Если вы хотите проверить чье-то решение, то проставляйте себя в столбце Проверяющие и в PR в разеделе Reviewers, который соответсвует тикету.
Если возник какой-то вопрос по решению - смело спрашивайте об этом в чате.
Для этого рекомендуется использовать хештеги, чтобы можно было понять, с чем связан ваш вопрос:
#help-<номер тикета>
- вопрос по тикету. Для обсуждения можно пойти в наш дискорд канал - так будет проще остальным присоединиться к обсуждению и решить проблему. Для ответа на вопрос используйте Reply
, чтобы можно было проследить историю ответов и понять, получилось ли помочь.
#ready-for-review--<номер тикета>
- тикет готов к проверке, тесты к нему написаны.
Не забывайте менять статус билетов в таблице, чтобы понимать, в каком состоянии, что находится, какой тикет можно взять, кому нужна помощь.
Папка tickets
содержит решения различных билетов.
Формат папки с решением билета (ticket-<номер билета>
):
- файл
README.md
должен содержать условие билета и описания реализованных классов - если описание классов находится внутри кода через комментарии/java-doc, то напишите внутри
README.md
об этом - папка
src
, в которой будет находиться код решения и тесты
Для написания тестов используйте JUnit
. Если его функционала недостаточно, или вам по душе какой-то иной фреймворк - необходимо добавить ссылки на ознакомление с ним в документ Технологии и быть готовым рассказать, как ведет тот или иной метод.
Файл с тестами должен находиться в директории src
, рядом с файлами кода по билету, и называться Tests.java
.
Каждый билет будет иметь соответствующий PR (pull request): для каждого билета заводите PR с веткой ticket-<номер тикета>
. PR называете также ticket-<номер тикета>
. Если вы заранее договорились с кем-то о том, что он проверит ваш тикет, проставляйте его в Reviewers.
Если нет - проверяющий самостоятельно проставляет туда себя.
Внутри вашего тикета разрешатся менять только содержимое папки ticket-<номер вашего тикета>
, чтобы избежать конфликтов с другими.
Ожидается, что в основном репозитории будут только файлы README.md
, код и тесты - другие файлы запрещается добавлять.
Внутри PR будет обсуждение написанного кода. Всякие проблемы, вопросы - описываете внутри PR.
Запрещается мерджить с главной веткой.
Используем для обсуждения вопросов по тикетам, для объяснения технологий, используемых внутри решения.
Вы узнаёте свой билет и после этого заходите в голосовой канал нашего дискорда, который соответствует вашему тикету. Далее обсуждаете с людьми, которым попался тот же билет, каким образом вы измените итоговое решение. Далее можно проверить ваши кода на схожесть, используя сайт из раздела дополнительные ресурсы.
В итоговый репозиторий с решениями не добавляйте Tests.java
и не забудьте подправить README.md
, чтобы он соответствовал вашему исправленному варианту.
Все держится на честности, порядочности и благоразумии, поэтому, пожалуйста, отнеситесь к правилам внимательно и не нарушайте их. Спасибо!
Если после ознакомления остались вопросы - пишите о них в нашем тг чате.
- Билет 1. Менеджер строчек. Ядро
- Билет 2. Менеджер строчек. Редактор
- Билет 3. Менеджер строчек. Statistics Analyzer
- Билет 4. Менеджер строчек. Query Tool
- Билет 5. Исполнитель
- Билет 6. Устойчивая сортировка
- Билет 7. Отношения классов
- Билет 8. File Manager
- Билет 9. TCP Proxy
- Билет 10. UDP Proxy
- Билет 11. Автоматический переводчик
- Билет 12. Bag
- Билет 13. LinkedBag
- Билет 14. Менеджер плагинов
- Билет 15. Memorizer
- Билет 16. Ленивый список
- Билет 17. Перекодировка email
- Билет 18. Tracing Proxy
- Билет 19. Обработка файла
- Билет 20. Очередь заданий
- Билет 21. Тараканьи бега
- Билет 22. Обобщенные матрицы
- Билет 23. Chat Client
- Билет 24. Chat Server
- Билет 25. TODO List
- Билет 26. Markdown2HTML
- Билет 27. Wiki2HTML
- Билет 28. Сетевые крестики-нолики
- Билет 29. Sort
- Билет 30. Parallel MergeSort
- Билет 31. Parallel QuickSort
- Билет 32. Java Shell
- Билет 33. Протоколирование
- Билет 34. Конвертация файла
- Билет 35. Система Лейтнера
- Билет 36. Мат ладьей и королем