본문 바로가기

우테코 프리코스

(7)
프리코스 4주차 미션 이번에도 그동안의 미션들과 마찬가지로 미션을 수행하기 전에 코드 리뷰를 했다. 아직 코드 리뷰가 익숙하지 않아서 그런지 다른 분들의 코드를 읽고 피드백을 해주는게 어려웠다. 계속 읽어봐도 피드백할 점이 안보일 때도 있었다. 꾸준히 다른 분들의 코드를 읽으며 리뷰에 대한 실력도 키워야겠다는 생각이 들었다. 이번 미션의 과제 진행 요구 사항에서의 달라진 점은 기존 미션과는 다르게 비공개 저장소로 생성해 시작하라는 말씀이 있었다. 처음해보는 collaborator 초대 방식이라 꼼꼼하게 읽으며 진행했다. 기능 요구 사항으로 넘어가서, 미션의 주제는 크리스마스 프로모션이었다. 간단하게 소개하자면 우테코 식당에서 12월 동안 여러 할인 및 증정 이벤트를 진행하고, 방문 날짜와 주문 메뉴와 수량을 입력하면 받는 모..
프리코스 3주차 미션 어느덧 절반을 넘어선 3주차 미션에 도달했다. 저번과 마찬가지로 코드리뷰를 진행했는데 이번 코드는 저번 코드에 비해 많은 피드백이 들어왔고, 대부분의 피드백을 읽어보니 직접 코드에 다시 적용해보는게 더 좋을거 같았다. 그래서 새로운 미션이 이메일로 주어졌지만 내 코드에 대한 많은 분들의 수많은 피드백을 하나하나 코드에 적용해보는 시간을 먼저 가졌다. 아래는 프리코스 2주차 미션 코드와는 약간 다른, 이후 받은 피드백을 적용한 코드와 게시글이다. https://github.com/JaeMin-1/java-racingcar-6/tree/study GitHub - JaeMin-1/java-racingcar-6 Contribute to JaeMin-1/java-racingcar-6 development by c..
2주차 코드에 대한 코드 리뷰 감사하게도 정말 많은 분들이 다양하게 코드 리뷰를 해주셨다. 이에 대해 일부 정리를 해보려한다. public String showExecutionResults(ArrayList carNames, ArrayList carGoingCount) { StringBuilder result = new StringBuilder(); for (int i = 0; i < carNames.size(); i++) { result.append(carNames.get(i)).append(" : "); for (int j = 0; j < carGoingCount.get(i); j++) { result.append("-"); } result.append("\n"); } return result.toString(); } 위와 같은 ..
프리코스 2주차 미션 (2) 2주차 미션은 1주차 미션과는 다르게 테스트가 요구 사항으로 추가되었다. 첫 테스트 코드 작성이기도 해서 테스트 코드만으로 글 작성을 해보려 한다. 처음에는 그저 막막했다. 테스트 코드를 작성해본 적도 없었고 이를 배운 후 작성하는게 아닌 스스로 공부해서 작성해야 한다는게 부담으로 다가왔다. 그래도 며칠이라는 시간이 있었으니 한번 열심히 해보기로 했다. 요구 사항에 명시된대로 test/java/study 를 딱 열어봤지만 무지한 상태에서 봐서 그런지 이해가 가질 않았다. 일단 .JUnit 5와 AssertJ를 공부하기로 마음 먹었다. 먼저 JUnit 5와 AssertJ에 앞서서 테스트 코드는 기본적으로 아래의 단계를 만족하도록 작성할 수 있다. 초심자라면 더더욱 이것을 따르는게 좋다고 한다. given ..
테스트 코드 : NoSuchElementException 오류 package racingcar.view; import static org.assertj.core.api.AssertionsForClassTypes.assertThat; import java.io.ByteArrayInputStream; import org.junit.jupiter.api.Test; class InputViewTest { private InputView inputView; @Test void inputCarNames() { // given inputView = new InputView(); String input = "Tom,Bob,Lisa"; ByteArrayInputStream inputStream = new ByteArrayInputStream(input.getBytes()); Sys..
프리코스 2주차 미션 숫자 야구의 일주일이 지나가고 새로운 미션이 도착했다. 새로운 미션에 앞서서 6기 예비생들끼리 디스코드에서 서로의 pr 주소를 올리며 각자의 숫자 야구 코드를 리뷰해주는 시간을 가졌다. 현업에서 7~8이 코드 읽기고 나머지가 코드 작성이라 할만큼 코드를 읽는게 중요하다는 걸 알았고 최대한 많은 분들의 코드를 읽으며 리뷰를 진행했다. 문법을 이해하지 못할 정도로 고수의 향기가 나는 분도 계셨고 내 기준에서 흠 잡을데 없이 잘 짜신 분도 계셨다. 간단한 숫자 야구일지라도 정말 많은 사람들이 다양하게 코드를 작성했고 배울 점이 많았던 시간이었다. 매 주차가 끝날때마다 리뷰하는 시간을 소중히 여기고 잘 활용해야겠다는 생각이 들었다. 점점 실력이 느리지만 꾸준히 쌓이면서 코드 보는 실력도 늘어나길 기대해본다. 아..
프리코스 1주차 미션 10월 19일 오후 3시.. 드디어 프리코스 미션이 공개되었다. 미션은 숫자 야구였고 기능 요구사항, 프로그래밍 요구 사항, 과제 진행 요구 사항 이렇게 세 가지로 구성되어 있었다. 먼저 프로그래밍 요구 사항에서 JDK 17버전에서 실행이 가능해야 하는 조건이 있었다. 이에 따라 기존의 19 버전을 17버전으로 다운그레이드했다. 오랜만에 환경변수를 설정해서 터미널에서 올바르게 17버전이 뜨도록 했고 인텔리제이에서도 설정하여 인텔리제이 내부 터미널에서도 17버전이 뜨도록 했다. 그리고 눈길이 가는 요구 사항이 2가지가 있었다. 첫째는 자체 제공하는 라이브러리에서 제공하는 Randoms 및 Console API를 사용하여 Random 값 추출 및 사용자가 입력하는 값을 구현하라는 점이었다. Randoms 의..