함수명의 접미사로 xxxIfNecessary, xxxIfNeeded를 사용하는 경우가 있다.
이는 특수한 조건에 해당하는 경우에만 함수를 실행하게 하는 경우 사용한다.
그러나 두 함수의 차이점이 무엇인지 궁금해져 chatgpt에게 물어보았다.
둘다 필요한 경우에 작업을 수행하도록 할 때 사용된다. 그러나 둘은 미묘한 차이가 있다.
xxxIfNecessary
작업이 항상 실행되지는 않는다. 특정한 조건에 해당하는 경우에만 실행한다.
// 필요한 경우에만 파일에 값을 쓰는 함수
writeToFileIfNecessary()
// 필요한 경우에만 이메일을 발송하는 함수
sendEmailIfNecessary()
xxxIfNeeded
작업이 항상 실행되는 경우에 사용한다. 항상 작업을 해야하지만, 프로그램 연산 비용을 줄이기 위해 값을 캐싱해둘 때 주로 사용한다.
// 값을 계산한 적이 없는 경우에만, 값을 계산하는 함수. 이미 계산한 적이 있으면, 캐싱된 데이터 반환
calculateIfNeeded()
// 데이터를 불러온 적이 없는 경우에만, 데이터를 불러오는 함수. 이미 불러온 적이 있으면, 캐싱된 데이터 반환
loadDataIfNeeded()
chatgpt의 답변 전문은 다음과 같다.
'소프트웨어-이야기 > 프로그래밍 언어와 프레임워크' 카테고리의 다른 글
개발자를 위한 최소한의 JVM 메모리 트러블 슈팅 사전 지식 (0) | 2023.08.02 |
---|---|
[ChatGPT] Function calling (0) | 2023.07.25 |
디자인패턴 - Strategy Design Pattern (0) | 2023.02.11 |
Enum 활용하기 (0) | 2023.01.07 |
Lombok 기본 생성자와 Getter/Builder 어노테이션 (1) | 2022.11.12 |