Skip to content

COW-edu/cow-assignment-coffee

Repository files navigation

✨ COW Server 파트 사전 과제 ✨

안녕하세요. 카우 서버 파트 멘토진입니다. ☺️

먼저 저희 서버 파트에 지원해주신 여러분께 진심으로 감사 인사드립니다!!

저희 서버 파트에서는 스프링을 활용하여 웹 서비스의 서버 개발을 배우는 시간을 가질 예정입니다.

이 과정에서는 자바 언어에 대한 기본적인 이해가 필요하며, 또한 객체 지향적인 사고 방식이 요구됩니다. 또한 세션 중 진행되는 과제 제출 방법 역시 github에 PR(Pull Request)를 올리는 방식으로 진행됩니다.

이런 이유로 간단한 사전 과제를 준비했습니다.

저희가 과제를 통해 평가하고자 하는 내용은 다음과 같습니다.

  1. github를 통해 주어진 요구사항에 맞도록 PR을 올릴 수 있는가
  2. 객체를 얼마나 잘 분리했는지요구사항을 얼마나 잘 충족시켰는가

이 두 가지로 저희 서버 파트에 참여하는 최소한의 기준을 평가하게 됩니다.

여러분의 멋진 결과물을 기대하겠습니다. 🔥

다음은 여러분들이 과제를 수월하게 진행할 수 있도록 상세한 평가 기준과 과제 제출 관련 내용 및 PR 작성법에 대해 알려드리겠습니다!

모르는 부분이 있으면 카카오톡 오픈 채팅방으로 편하게 질문해주세요! 오픈 채팅방 링크 : 과제 테스트 문의방


제출하실 것

  • 실행결과 요약(실행화면을 캡쳐하셔서 과제제출 PR에 함께 제출해주시면 됩니다.)
  • 자신의 코드에 대한 간단한 소개 및 설명

과제 요구사항

1. 주문하기 기능을 구현하세요.

• 주문 가능한 메뉴를 출력하고, 사용자로부터 메뉴를 입력받습니다.
• 입력받은 메뉴를 주문 리스트에 추가하고, 메뉴 가격을 총 금액에 더합니다.
• 주문할 수 있는 최대 개수는 5개입니다.

2. 취소하기 기능을 구현하세요.

• 현재까지 주문한 메뉴 리스트를 출력합니다.
• 취소할 메뉴 번호를 입력받아 해당 메뉴를 주문 리스트에서 제거합니다.
• 메뉴 가격을 총 금액에서 차감합니다.

3. 결제하기 기능을 구현하세요.

• 총 금액을 출력합니다.
• 사용자가 지불할 금액을 입력받고, 잔돈을 계산하여 출력합니다.
• 결제가 완료되면 총 금액과 주문 리스트를 초기화합니다.

4. 끝내기 기능을 구현하세요.

• 프로그램을 종료합니다.

기대 결과

• 사용자 입력을 통해 주문, 취소, 결제, 종료 기능이 정상적으로 동작해야 합니다.
• 각 기능에 대한 유효성 검사를 수행하여 잘못된 입력이 있을 경우 적절한 메시지를 출력해야 합니다.

제출 방식 설명

사전과제 제출방식 설명은 다른 파일에서 자세히 설명드리겠습니다!

사전과제 제출방식 설명 링크


평가 기준

가산점

  1. 클래스(객체)를 적절하게 분리했는가

이에 대해 당장 감이 오지 않으셔도 좋습니다! 저희 세션에서 객체지향에 대한 구현을 함께 진행할 예정이니까요 😆

다만 아래의 예시를 참고하셔서 어떤 방식으로 분리하면 좋을지 고민한 흔적이 있다면 저희는 이를 높이 평가할 예정입니다.

❗️❗️ 예시 코드는 절대 정답이 될 수 없습니다! 면접에서 간단하게 코드에 대한 질문을 드릴 예정입니다. 복사한 코드는 면접에서 불이익이 될 수 있다는 점 명심해주세요. ❗️❗️

  • 좋은 예시

    image

  • 좋지 않은 예시 (기본점수)

    image 1

  1. 적절한 Java의 내장 기능 활용

Java에는 객체지향에 유용하게 활용할 수 있는 다양한 기능을 지원합니다. 이에 대해 찾아보시고 적용까지 해본 경험은 곧 실력이 된다고 생각합니다.

저희는 이런 도전 및 탄탄한 실력에 가산점을 드릴 예정입니다.

  1. Java 코딩 컨벤션을 지키려 노력했는가
    • 예를 들어 while문 안에 if문이 있으면 들여쓰기는 2이다.
    • 힌트: indent(인덴트, 들여쓰기) depth를 줄이는 좋은 방법은 함수(또는 메서드)를 분리하면 된다.

대부분의 개발자는 혼자 일을 하지 않습니다. 동아리도 마찬가지고요. 코드에 대한 몇 가지 규칙을 지킨다면 여러분의 코드 수준은 더 높다고 할 수 있을 것입니다. 저희는 이를 분명한 강점으로 판단하여 가산점을 드릴 예정입니다.

코드 컨벤션 예시 : https://naver.github.io/hackday-conventions-java/

절대 이 컨벤션을 모두 숙지하셔서 과제를 진행하실 필요없습니다. 가산점이 없더라도 충분히 합격하실 수 있으니 부담갖지 않으셔도 됩니다 ☺️

감점

  1. 실행되지 않는 코드
  2. 알아보기 힘든 로직, 네이밍
  3. 요구사항 불충족

주의사항

  • 다른 사람의 코드와 지나치게 비슷한 경우 면접에서 해당 코드에 대해 집중적으로 질문 받을 수 있습니다.
  • 제출 형식: 제출 시, 요구된 파일 형식을 지켜 주세요. 요구된 형식이 아닌 다른 형식으로 제출할 경우, 평가에 반영될 수 있습니다. 사전 과제 제출 방식 설명을 꼭 참고해주세요!
  • 기한 엄수: 제출 기한을 엄수해 주세요. 기한을 넘길 경우 평가에서 불이익이 있을 수 있습니다.

About

4기 COW Server 파트 사전 과제입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages