Skip to content

Bamdoliro/gomdolirobed-s3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

0️⃣ 과제 안내

학생 출석부 관리 시스템 기능 구현하기

사용 기술

  • Java 21
  • Junit5, AssertJ (테스트 코드 작성시 사용)

기능 요구사항

  • 출석부에는 학생이 있거나 비어있습니다.
  • 출석부는 생성 될 때 학생들을 가진 채로 생성되거나, 빈 출석부로 생성될 수 있습니다.
  • 출석부는 다음과 같은 속성을 지닙니다.
    • 학생 목록
  • 학생은 다음과 같은 속성을 지닙니다.
    • 이름(예 : 김밤돌), 학반번호(예 : 20309, 학년/반/번호), 출석횟수
  • 출석부에는 학생을 추가할 수 있습니다.
  • 출석부의 학생을 삭제 할 수 있습니다.
  • 출석부는 학생들의 정보를 조회할 수 있습니다. 조회할 때는 다음과 같은 속성을 출력해야 합니다.
    • 학생의 이름, 학반번호, 출석횟수
  • 출석부는 출석부에 존재하는 학생들의 출석횟수를 증가시킬 수 있습니다.

제한 사항

  • 출석부에 동일한 이름과 학번을 가진 학생은 추가할 수 없습니다.
  • 출석부에 존재하지 않는 학생은 삭제할 수 없습니다.
  • 학생의 출석횟수는 음수일 수 없습니다.
  • 학생의 이름은 1자 이상 20자 이하여야합니다.
  • 화이팅하세요!

코드 작성 시 유의사항

  • 클래스별로 파일을 구분해야합니다.
  • 캡슐화가 이루어져야 합니다.
  • 패키지, 변수, 메서드 작성시에는 꼭 그에 알맞은 네이밍 컨벤션을 따라야 합니다.

1️⃣ 제출 방법

  1. 이 레포지토리를 포크합니다.
  2. 본인의 이름으로 브랜치를 만듭니다. (예시: hanul)
  3. 메인 함수의 주석을 읽으며 코드를 작성해 주세요.
  4. 테스트 코드를 작성해주세요. (선택 사항, 가산점 부여)
  5. 3번과 4번 과정을 진행하며 커밋해주세요. (밑 커밋 규칙 참고)
  6. 모두 완료한 후 Pull Request를 보내주세요.

2️⃣ 평가 기준

항목 내용 비율
코드 가독성 코드가 얼마나 술술 잘 읽히는가 30%
실행 기능이 문제 없이 실행되는가 30%
학구열 자기주도적으로 모르는 내용을 찾아보며 개발했는가 30%
성실성 성실한가 10%
테스트 테스트 코드 작성시 가산점 부여 3% (추가)

3️⃣ 커밋 메시지 규칙

다음 명령어를 사용하면 커밋 템플릿을 통해 커밋 메시지를 작성할 수 있습니다.

git commit

형식

커밋 메시지는 머리글, 본문, 바닥글로 구성됩니다.

<머리글>
<!-- 빈 줄 -->
<본문>
<!-- 빈 줄 -->
<바닥글>

머리글

필수입니다.

<유형>: <짧은 요약>
  │         │
  │         └─⫸ 현재, 명령형으로 작성. 마침표 금지.
  │
  └─⫸ 커밋 유형: feat|fix|perf|refactor|test

유형

유형 설명
feat 새로운 기능 추가
fix 버그 수정
perf 성능 개선
refactor 버그를 수정하거나 기능을 추가하지 않은 코드 리팩토링
test 누락된 테스트 추가 또는 기존 테스트 수정

요약

변경사항이 "무엇"인지 작성합니다.

  • 명령형, 현재 시제 사용: "변경함", "변경했음"이 아닌 "변경"으로 작성
  • 끝에 마침표(.) 금지
  • 한글 사용 권장
  • 50자 이내로 작성

본문

  • 한글 사용 권장
  • 한 줄에 72자가 넘지 않도록 주의
  • 어떻게 보다는 "무엇"을 "왜" 변경했는지 작성
  • 자유로운 형식으로 작성

바닥글

선택 사항입니다.

참고 사항이나 추가로 할 말이 있을 떄 작성합니다.

명령어 예시

git commit -m "feat :: 출석부 객체
- ~~ 구체적인 설명
"

4️⃣참고

다음 글을 참고하면서 진행해주세요!
꼭 이 글이 아니더라도, 다른 글들을 참고하면서 해도 괜찮습니다.

포크, 브랜치, Pull Request가 뭔지 모르겠다면?
Git을 이용한 협업: Fork 부터 Pull Request 까지

테스트 코드 작성 방법
IntelliJ에서 JUnit 사용하기

자바의 네이밍 컨벤션을 모르겠다면?
자바 네이밍 규칙 (java 네이밍 컨벤션)

About

곰돌이로 3기 백엔드를 위한 과제입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages