평판

평판 시스템에 대해 알아봐요.


평판은 사람들이 Exercism 생태계 안에서 "신뢰"를 얻을 수 있게 해 주는 시스템이에요.

평판은 한 사람이 Exercism에 얼마나 기여했는지를 나타내는 지표예요. 플랫폼에 대한 기여(예: 소프트웨어, 연습 문제, 문서 제작)와 커뮤니티에 대한 기여(예: 멘토링)를 모두 포함해요.

평판은 "소비"하거나 "사용"할 수 없어요. 하지만 특정 평판 기준에 도달하면 새로운 권한과 기여 방법을 이용할 수 있어요. 간단히 말해, 평판이 높을수록 우리가 그 사람을 더 신뢰할 수 있다고 느끼고, 그만큼 더 많은 권한을 받아요. 평판은 또한 Exercism에 얼마나 기여했는지를 누구나 볼 수 있게 보여 주는 지표이기도 해요.

목적

평판 시스템의 목적은 다음과 같아요:

  1. 학생과 멘토 사이의 성장 중심 상호작용을 최대화하기
  2. 멘토가 기여하고 싶어 하는 마음을 최대화하기

평판 획득

평판은 다양한 방식으로 얻을 수 있어요:

행동 평판
풀이를 성공적으로 멘토링하기 5
풀이 게시하기 1-3
연습 문제 작성하기 20
연습 문제 업데이트하기 10
개념 작성하기 10
개념 업데이트하기 5
풀 리퀘스트 만들기 3-100
풀 리퀘스트 리뷰하기 1-20
풀 리퀘스트 병합하기 1-5

풀이를 성공적으로 멘토링하기

성공적으로 멘토링한 풀이(토론이 끝난 경우)마다 평판 5가 부여돼요.

풀이 게시하기

게시된 풀이마다 연습 문제의 난이도에 따라 평판이 부여돼요:

레이블 평판
easy 1
medium 2
hard 3

연습 문제 작성하기

사용자가 작성자로 등록된 연습 문제마다 평판 20이 부여돼요.

연습 문제 업데이트하기

사용자가 기여자로 등록된 연습 문제마다 평판 10이 부여돼요.

개념 작성하기

사용자가 작성자로 등록된 개념마다 평판 10이 부여돼요.

개념 업데이트하기

사용자가 기여자로 등록된 개념마다 평판 5가 부여돼요.

풀 리퀘스트 만들기

기본적으로 사용자가 연 풀 리퀘스트가 병합되면 평판 12가 부여돼요.

풀 리퀘스트의 내용에 따라, 메인테이너가 다음 레이블 중 하나를 풀 리퀘스트에 추가해서 평판을 더 (또는 덜) 부여할 수 있어요:

레이블 평판 예시
x:rep/tiny 3
  • 오타나 링크 하나 고치기
  • 빈 줄 하나 지우기 또는 줄 바꿈 추가하기
  • 코드 주석 하나 바꾸기/추가하기
x:rep/small 5
  • 테스트 케이스, 과제 또는 예제 하나 고치기
  • 파일 하나에서 여러 오타나 링크 고치기
  • 파일에 몇 줄을 추가해 내용을 명확하게 하기
x:rep/medium 12
  • 연습 문제를 problem-specifications와 동기화하기 (수정 포함)
  • 테스트 케이스를 하나 이상 처음부터 추가하기
  • 연습 문제의 여러 파일 개선하기
  • 연습 문제의 멘토 노트를 처음부터 작성하기
  • 테스트 러너/분석기/리프리젠터의 작은 버그 고치기
  • 연습 문제 하나에 분석기 코멘트 추가하기
x:rep/large 30
  • 새로운 개념 연습 문제나 실습 연습 문제 추가하기
  • 새로운 개념 문서 추가하기
  • 기존 개념이나 연습 문제를 대폭 다시 쓰기
  • 새로운 CI 스크립트나 기타 자동화 추가하기
x:rep/massive 100
  • 테스트 러너, 분석기, 리프리젠터, 생성기를 처음부터 만들기
  • 이런 도구들을 크게 리팩터링하기
  • 주요 문서를 처음부터 작성하기 (예: 기여 가이드나 테스트 가이드)

위 예시는 어떤 레이블을 언제 적용할지 대략적인 기준이 될 뿐이고, 메인테이너는 자신의 판단에 따라 자유롭게 정할 수 있어요.

  • 예상 소요 시간은 _메인테이너_가 해당 PR을 처리하는 데 들이는 평균 시간으로 해석하면 돼요.
  • 레이블이 두 개 이상 지정되면, 평판 값이 가장 높은 레이블이 부여되는 평판을 결정해요.
  • 풀 리퀘스트가 아직 열려 있으면 평판은 (아직) 부여되지 않아요.
  • 풀 리퀘스트가 병합 없이 닫히면 평판은 부여되지 않아요.

하위 호환성을 위해, x:size 레이블을 사용해 부여할 평판을 결정하는 방식도 지원해요.

풀 리퀘스트 리뷰하기

사용자가 리뷰한, 병합되거나 닫힌 풀 리퀘스트마다 평판 5가 부여돼요.

  • 풀 리퀘스트가 아직 열려 있으면 평판은 (아직) 부여되지 않아요.

  • 리뷰 평판은 풀 리퀘스트당 사용자 한 명에게 한 번만 부여돼요.

  • 풀 리퀘스트를 연 사용자는 자신의 풀 리퀘스트를 리뷰해도 평판을 받지 않아요.

  • 풀 리퀘스트에 다음 레이블 중 하나가 추가되면 리뷰로 부여되는 평판이 달라져요:

    레이블 평판
    x:rep/tiny 1
    x:rep/small 2
    x:rep/medium 5
    x:rep/large 10
    x:rep/massive 20

    풀 리퀘스트 작성자와 리뷰어에게 서로 다른 평판 "크기"를 사용할 수는 없어요. 둘 다 같은 x:rep 레이블을 기준으로 해요.

    레이블이 두 개 이상 지정되면, 평판 값이 가장 높은 레이블이 부여되는 평판을 결정해요.

    하위 호환성을 위해, x:size 레이블을 사용해 부여할 평판을 결정하는 방식도 지원해요.

풀 리퀘스트 병합하기

사용자가 병합한 풀 리퀘스트마다 평판 1이 부여돼요.

  • 풀 리퀘스트가 아직 열려 있으면 평판은 (아직) 부여되지 않아요.
  • 풀 리퀘스트가 병합 없이 닫히면 평판은 부여되지 않아요.
  • 풀 리퀘스트를 연 사용자는 자신의 풀 리퀘스트를 병합해도 평판을 받지 않아요.
  • 풀 리퀘스트에 리뷰가 하나도 없으면 대신 평판 5가 부여돼요.

이슈 열기

풀 리퀘스트와 마찬가지로, 기본적으로 이슈를 열면 평판이 부여되지 않아요. 풀 리퀘스트와 달리, 이슈는 large나 massive인 경우에만 평판이 부여돼요.

이슈의 내용에 따라, 메인테이너가 다음 레이블 중 하나를 이슈에 추가해 평판을 부여하도록 선택할 수 있어요:

레이블 평판 예시
x:rep/large 30
  • 구체적으로 완성된 개념 연습 문제
x:rep/massive 100
  • 트랙 커리큘럼 설계하기

위 예시는 어떤 레이블을 언제 적용할지 대략적인 기준이 될 뿐이고, 메인테이너는 자신의 판단에 따라 자유롭게 정할 수 있어요.

  • 평판은 _메인테이너_가 그 이슈를 만드는 데 들이는 노력의 양을 반영해야 해요.

  • 레이블이 두 개 이상 지정되면, 평판 값이 가장 높은 레이블이 부여되는 평판을 결정해요.