코드 개선 (refactoring)/Java 3

Optional 제대로 사용하기

Java의 Optional은 NPE(NullPointerException)를 방지하고자 등장한 도구이다.하지만 잘못 사용하면 오히려 코드가 더 복잡해지고, 불필요한 객체 생성으로 인해 성능저하가 발생할 수 있다.수정 전 코드Java 에 익숙하지 않아서, "null이 반환될 수도 있는 경우라면 Optional을 써야 한다" 라고 생각했다.Optional.empty() 를 반환하고, 호출부에서 isParent() 등으로 체크할 수 있으니 더 안전한 코드라고 생각한 것이다.public Optional getData() { if (/* 데이터가 있음 */) { return Optional.of(array); } else { return Optional.empty(); }..

유효성 검사는 어디에서 해야 될까?

계산기 과제를 진행하던 중, 생각하게 된 주제이다. level1: 클래스 없이 계산기 구현level2: 클래스를 활용한 계산기 구현 - Calculator 클래스 분리 '내일배움캠프(Spring 7기)/CH 2 계산기 과제' 카테고리의 글 목록gajicoding 님의 블로그 입니다.gajicoding.tistory.com 두 상황의 차이점을 잘 비교해보자Level 1을 구현 후 피드백 받은 코드이다. 피드백 전switch 문 내부에서 예외 발생실행 전 상태로 충분히 판단 가능한 예외를 굳이 실행에 맡김 (늦은 판단)try { // Scanner로 num1, num2, symbol을 입력받은 후 result = switch (symbol) { case '+' -> num1 ..