2주차 과제 메일이 도착했다.
기간은 역시 1주일이며, github를 통해 기본 세팅을 받고 코딩 후 제출 하는 방식이였다.
과제는 크게 기능 요구사항
, 프로그래밍 요구사항
, 과제 진행 요구사항
3가지로 구성 되었다.
기능 요구사항은 Java를 배우면서 만들어 봤던 단순 숫자야구였다.
indent(인덴트, 들여쓰기) depth를 2가 넘지 않도록 구현한다.(1까지만 허용)
while(index > 0) { // depth 1
for (int i = 0; i < list.size(); i++) { // depth 2
...
}
}
자바 8에 추가된 stream api를 사용하지 않고 구현해야 한다. 단, 람다는 사용 가능하다.
else 예약어를 쓰지 않는다.
함수(또는 메소드)의 길이가 10라인을 넘어가지 않도록 구현한다.
일급콜렉션을 활용해 구현한다.
Collection을 포장하면서, 그 외 다른 멤버 변수가 없는 상태를 일급 컬렉션이라 한다.
1. 비지니스에 종속적인 자료구조
2. Collection의 불변성을 보장
3. 상태와 행위를 한 곳에서 관리
4. 이름이 있는 컬렉션
경주용 차량 객체를 리스트로 가지는 경주용 차량 리스트 객체를 일급 콜렉션을 활용해 구현했다.
프리코스 2주차 자동차 경주 게임를 작성하고 과제를 제출했다.
1주 차 피드백처럼 기능 목록을 상세히 작성하려고 노력했다.
작성한 기능 목록을 토대로 TDD개발을 진행했는데 역시 실전은 달랐다.
2주 차 추가 요구사항인 일급콜렉션 활용, 모든 원시값과 문자열을 포장한다. 2가지를 구글링하면서 나름대로 이해하여 코딩했지만 올바르게 했는지는 잘 모르겠다.
위 2가지 추가 요구사항은 소트웍스 엔솔러지책에 있는 내용인데 나중에 시간이 되면 읽어봐야겠다.
우아한 테크 캠프 Pro 프리 코스가 끝났다. 정규과정도 배우고 싶은 내용이 많지만 프리코스 2주차 내용만 해도 많은 도움이 되었고 어느 정도 변환점이 된 거 같다.