If 문은 프로그래밍을 하면서 사용할 수밖에 없는 문법 중 하나이다.If 문을 사용할 때 보다 가독성 좋고 최적화된 코드로 작성하기 위해 If 문 클린 코드 방법에 대해 정리해보고자 합니다.단축 평가자바에서 and와 or 은 &&, || 연산으로 처리합니다.&&if(condition1 && condition2 && condition3 && condition4) {}&& 연산자는 여러 개의 boolean 조건이 있을 때, 하나의 조건이라도 false가 있으면 결과는 false가 됩니다.즉, 위 조건 식에서 condition1이 false이면 뒤에 있는 조건을 확인하지 않고 조건문을 벗어나게 됩니다. ||if(condition1 || condition2 || condition3 || condition4) {..
Git reset & revertreset : 과거의 특정 커밋으로 완전히 되돌린다. (변경 내용 없어짐)revert: 현재에 있으면서, 과거의 특정 커밋들만 없던 일로 만든다. (변경 내용 유지)Git resetgit reset 명령어는 현재 브랜치가 예전의 커밋을 가리키도록 이동시켜 변경 내용을 리셋합니다.reset은 revert와 달리 애초에 커밋하지 않은 것처럼 예전 커밋으로 브랜치를 옮기는 작업입니다.추가 설명git reset - -hard a0fvf8 을 통해 B Commit으로 돌아간다.C, D Commit은 없어진다.reset 세부 옵션git reset --soft [commit ID]git reset --mixed [commit ID]git reset --hard [commit ID]gi..
OptionalOptional은 값이 있을 수도 있고 없을 수도 있는 상황을 처리할 때 사용합니다.이를 통해 null을 직접 다루지 않고, 값의 유무를 명시적으로 처리할 수 있습니다.NullPointerException을 방지하면서 코드 가독성을 높일 수 있다. Map()Optional.map() 은 값이 있으면 해당 값을 꺼내와서 코드 블럭을 실행합니다.map() 함수는 간단히 A type을 B type으로 변경하는 역할을 합니다.Optional을 사용하면서 메서드 체이닝을 사용해 처리할 수 있습니다.public String getTeamNameFromDevice(Optional optDevice){ return optDevice .map(Device::getOwner) .map(Use..
Map - Grouping 데이터 삽입 순서대로 안 돼요..HashMap을 이용해서 Grouping 하여 데이터가 삽입된 순서대로 반환하려고 했는데, 데이터의 순서가 변경되어 반환되는 문제가 있었습니다.해당 문제는 HashMap으로 Map 객체를 만들어 데이터의 삽입 순서가 보장되지 못한 문제였습니다.Map> groupedCategory = Categories.stream() .collect(Collectors.groupingBy(Category -> Category.type().get(locale))); 위 코드에서 데이터를 순서대로 그룹핑하기 위해 기본적으로 적용되는 Map 구현체가 아닌 LinkedHashMap을 사용하여 입력된 순서가 유지되도록 해야 합니다.Map> groupedC..