Naming
객관적인 prefix
사용하기
update
, set
같은 직관적인 prefix
를 붙이기
- 조회 로직은 side effect가 거의 없다.
- 명령은 side effect가 생길 수 있다.
잘 분리해서 함수로 사용하자! CQRS
방식
v + o
문장
- 동사 + 목적어(명사)가 오는 스타일
- 예:
isUploadingPossible()
hasFriend()
usePromotionCoupon()
temp
같은 변수명은 피하기
String temp=func();
return temp;
위 코드 보다는 아래의 코드가 나음
return func();
get
, find
차이
- get: 존재 하는 값을 가져옴, 즉 무조건 있어야하는 값
- 없으면 error, Exception Handling
- find: 존재 || NULL, 즉 없을 수도 있음
init
, create
차이
- initialize: 객체를 최초로 설정
- create: 새 객체 생성
stringProcess()
: 애매함. 프로세스를 하는데 뭘???
stringFormatter()
: 문자열을 포맷팅 하는 구나!!
isGameStart
-> All/Any
isGameStart()
: 게임이 시작되었니? (하나만 체크하는지 몇개 체크하는지 애매모호함)
isAnyGameStarted()
: Any 게임이 시작되었니?? (1개이상이면 됨)
isAllGameStarted()
: All 게임이 시작되었니?? (전부 다 실행되어야함)
getFirst
-> Empty?
getFirstElement()
: 첫 번째 Element를 얻는다.
- 마냥 첫 번째 Element를 얻니? 근데 "empty"라도 그냥 받는거야? 정보가 없네?!
- empty 도 받어!:
getFirstElementOrEmpty()
- empty는 안 받어:
getFirstElementNotEmpty()
if
만 쓰자!!
- if else 는 가독성 떨어진다.
- if 로 Exception을 걷어내고 그냥 자유롭게 코드 쓰자.