최대 2의 depth를 사용하고, 삼항연잔자/else/switch를 사용하지 않는다.
주어진 enum 클래스를 사용한다.
먼저 지난 기수와 비교를 해보면..
자체적인 데이터베이스 생성 및 CRUD 능력을 검증하는 것으로 보였습니다.
이를 위해서 지하철 역, 노선에 대해 각각 트랜잭션(*)을 만드는 등의
"구현능력"을 중점적으로 보았던 것 같습니다.
(*정상적으로 명령어가 들어가지 않으면, 명령어를 취소하는 것)
자판기 미션의 중점적인 문제는
1. 문자열 - Array - List - enum 끼리의 변환
2. 가능한 최대한의 에러처리
를 중점적으로 확인하는 미션이었던 것 같습니다.
이를 알 수 있는 부분은 상품 리스트에 대한 입력을
"[콜라,1500,20];[사이다,1000,10]" 처럼 하나의 문자열로 처리하도록 되어있는 점과
동전을 enum으로 구현해두었다는 점입니다.
모자란 부분이 더 보이고 공부할 점만 남은 기분입니다.
public void method1() {
boolean passed = false;
while (!passed) {
passed = test1();
}
private boolean test1() {
try {
// 시도 1
return true;
} catch (Exception e) {
System.out.println(e.Message())
return false;
}
}
좋은 코드에 대한 방향성
반복적으로 코드를 치는 시간보다, 좋은 코드란 어떤 것인지에 대해
조금 더 명확한 방향성을 잡도록 하겠습니다.
읽다가 완료를 못한 책들 (1. 객체지향의 개념과 오해, 2. 모던자바 인 액션, 3. 클린코드)를 읽겠습니다.
함수형인터페이스 - 람다식/스트림/참조형
람다식을 사용할 때, 내부에서 외부변수를 사용하거나 return을 이상하게 활용하려고 할 때가 있습니다.
이런 경우가 없도록 람다식의 한계에 대해 명확히 찾아보겠습니다.
콘솔 입력에 대한 테스트 작성
콘솔에서 입력값을 받아 처리하는 메소드들의 경우,
테스트에서 입력값을 어떻게 처리해야하는지 몰라
메소드/함수별 테스트코드를 작성하지 못했습니다.
방법을 찾아보겠습니다.