Оцінювання коду

Орієнтири для оцінювання коду

(також дивіться завдання кожного рівня, там можуть бути додаткові умови)

  • 5 — все круто! Ні до чого причепитися крім парочки дрібниць, дуже красивий код, дуже чисто написаний, всі кейси враховані; коротко: це оцінка за ідеальний код

  • 4 — ґрунтовний підхід) Є нюанси, але видно, що намагався зробити на совість;

  • 3 — ок. Проходяться основні кейси (але не хардкодом), багато багів, код кривий, але все ж код вирішує поставлену проблему. Ми вважаємо що 3 це норм оцінка, проте намагайтесь виправити її на 4 на повторному ревʼю. Важливо памʼятати що не завжди вам зможуть поставити 3....

... за наступні оцінки ви отримуєте попередження, які змушують нас викинути вас з курсу((

  • 2 — є подібність рішення, але код практично не функціональний, або ж людина не розуміє і не може пояснити, як вирішувалась задача. Загалом це завал роботи. Також є додаткові причини ставити 2, навіть за функціональний код. Але існує легальний спосіб як не отримувати двійки. 🙃

  • 1 — дивитися нема чого, є зачатки коду (заглушки) або ви так і не змогли (а до дедлайну залишилось кілька годин і надії нема) зустрітися з автором коду, з його вини

На 8-й тиждень (mid exam) правила оцінювання дуже змінюються, система попередить вас про це.

Ставити оцінку потрібно саме за ту версію коду, яку ви завантажили з порталу. Ви не можете завищувати оцінку за обіцянки виправити все на повторному ревʼю.

Ви можете провести рев'ю по іншому коду, але оцінку ви ставите за те, що завантажили з порталу.

Погана англійська та одруківки в коментарях не мають впливати на оцінку.

Додаткові умови чому вам доведеться ставити двійки:

  • якщо людина сама не розуміє свій код, не може відповісти на елементарні питання, то ставте 2 навіть якщо код виглядає на 5.

  • якщо код містить якусь прикру помилку, і тому код не запускається або не працює. Тестуйте код перед завантаженням! Нагадуємо, що ставити оцінку потрібно саме за ту версію коду, яку ви завантажили з порталу.

  • якщо людина нахабно експлуатує діри в законах системи, наприклад списує або дає списувати іншим, то ставте 2. Будьте готові пояснити це рішення.

    • важливо: прочитайте документ "кодекс честі" (заходьте на п2п портал, далі тицяйте кнопку "матеріали" і шукайте там статтю), щоб краще розуміти, що ми маємо на увазі під списуванням. Ми багато чого забороняємо 😱 😱 😱, і це може бути неочевидним для вас.

  • якщо код не відповідає умовам завантаження

  • якщо в коді відсутні коментарі, вони написані тільки українською або російською, або ігнорується код-стайл

    • "відсутність" коментарів — це навіть коли їх мало і вони не мають користі, тобто зроблені скоріше "для галочки".

    • Як ви розумієте, рев'ювери кожен по-своєму оцінюватимуть прокоментованість вашої програми. Ви можете ходити по лезу, пишучи неякісні коментарі і/або мало коментарів (пояснюючи це тим, що і так все зрозуміло), але може трапитись ситуація, коли вам поставлять двійку і ми не зможемо стати на вашу сторону.

    • Якщо не знаєте, що ще прокоментувати, адже "все і так зрозуміло", уявіть собі слабкого студента, котрий вперше бачить ваш класний код, або людину, яка не знаходиться на вашому рівні і погано розуміє нюанси задачі. Або когось втомленого після роботи, котрому важко зрозуміти зв'язок однієї групи рядків із іншою.

    • "ігнорування" код-стайлу — це теж відносна штука. Намагайтесь робити якісно, а ми будемо захищати вас від надсуворих перфекціоністів :)

    • Якщо ви хвилюєтесь, чи вірно оцінюєте свій/чужий рівень коментарів/кодстайлу, то пам'ятайте — ми тут вчимось, всі можуть робити помилки, які ми переможемо, якщо матимемо взаємоповагу та довіру.

  • на жаль, вам мають ставити 2, якщо ви проігнорували явно задекларовану (навіть незначну) умову задачі. Бувають виключення. Точно можна розраховувати на 2, якщо ви ігноруєте те, що ми підписуємо словами типу має, повинен, або іншим чином наголошуємо на щось. Пояснення чому так та більше деталей про це в статті "ШОК! Жорсткі моменти ревʼю"

  • можуть бути й інші умови, які будуть написані в описах завдань

Поради

Ставте оцінки за код під час рев'ю, сидячи поряд, або відразу після нього, тому що ви не можете змінити свої оцінки (точніше можете, але лише протягом 5 хвилин).

Коли виставлятимете оцінки під час рев'ю, відкрийте мануал, і, щоб людина не ображалася, разом оцінюйте використовуючи мануал.

В разі виникнення конфлікту, звертайтеся до адміністраторів порталу, які присутні на рев'ю ;)

Робіть рев'ю якомога раніше!

Вечір суботи — дедлайн здачі виправлень. Отримавши перше рев'ю в середу, перевіряємий буде вам вдячний, тому що у нього буде більше часу на роботу над помилками, саме тому вечір середи зарезервований для вас на локаціях.

Хтось може робити перше рев'ю дуже довго. Варто до цього ставитися з розумінням, не всі однаково успішні або швидкі. Проте ви маєте право зупинити рев'ю через 45 хвилин.

Робіть рев'ю відповідально, не завищуйте бали, не жалійте тих кого перевіряєте.

  • не слухаючи нас, ви робите гірше собі, і підставляєте їх і тих з ким вони працюватимуть; ... крім вас цю роботу перевірятимуть ще принаймні 2 інших ревʼювера;

  • процес буде працювати правильно тільки якщо всі будуть слідувати мануалу :)

  • висловлювати людині недовіру в знаннях — нормально. Ваш обов'язок — перевірити знання. Якщо хтось ваші знання не перевіряє — це показник безвідповідальності, а значить і ви отримаєте менш якісне навчання в підсумку. Не робіть так, будь ласка!!!

Важливе

Не ставте в пріоритет оцінку, ваша ціль — знання і якісні рев'ю. Не засмучуйтесь, якщо ви отримали погану оцінку. Завжди щось може піти не так і вийти не справедливо. Але система сама очищається від несправедливості і в результаті чесні і працьовиті учні дійдуть до фіналу.

А коли ви взагалі завищуєте оцінки (жалієте) — ви спотворюєте систему p2p і позбавляєте себе знань. Як? Пограйте в https://game.p2p.programming.org.ua, щоб зрозуміти як все працює. Не ображайтесь, якщо ми виявимо таке недбальство і кікнемо вас за спробу нашкодити системі.

Last updated