/java-advanced-exam-2021

Репозиторий с решенными билетами для экзамена по технологиям программирования 2021 г.

Primary LanguageJava

Репозиторий для решения билетов по курсу Технологии программирования

Ссылки

Новым участникам

Работа над билетами

Экзамен

Дополнительные ресурсы

ОБЯЗАТЕЛЬНО К ПРОЧТЕНИЮ

Наша основная задача - успешно сдать экзамен по 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

Каждый билет будет иметь соответствующий PR (pull request): для каждого билета заводите PR с веткой ticket-<номер тикета>. PR называете также ticket-<номер тикета>. Если вы заранее договорились с кем-то о том, что он проверит ваш тикет, проставляйте его в Reviewers.

Если нет - проверяющий самостоятельно проставляет туда себя.

Внутри вашего тикета разрешатся менять только содержимое папки ticket-<номер вашего тикета>, чтобы избежать конфликтов с другими.

Ожидается, что в основном репозитории будут только файлы README.md, код и тесты - другие файлы запрещается добавлять.

Внутри PR будет обсуждение написанного кода. Всякие проблемы, вопросы - описываете внутри PR.

Запрещается мерджить с главной веткой.

Пример PR

Ожидаемая дата массового мерджа - 13 июня, вечер

Дискорд

Используем для обсуждения вопросов по тикетам, для объяснения технологий, используемых внутри решения.

План работы во время экзамена

Вы узнаёте свой билет и после этого заходите в голосовой канал нашего дискорда, который соответствует вашему тикету. Далее обсуждаете с людьми, которым попался тот же билет, каким образом вы измените итоговое решение. Далее можно проверить ваши кода на схожесть, используя сайт из раздела дополнительные ресурсы.

В итоговый репозиторий с решениями не добавляйте Tests.java и не забудьте подправить README.md, чтобы он соответствовал вашему исправленному варианту.

ВАЖНО ПОМНИТЬ

Все держится на честности, порядочности и благоразумии, поэтому, пожалуйста, отнеситесь к правилам внимательно и не нарушайте их. Спасибо!

Если после ознакомления остались вопросы - пишите о них в нашем тг чате.

Билеты: