네이밍, Exception

markyang92·2021년 6월 23일
0

clean code

목록 보기
1/4
post-thumbnail

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 차이

  1. get: 존재 하는 값을 가져옴, 즉 무조건 있어야하는 값
    • 없으면 error, Exception Handling
  2. find: 존재 || NULL, 즉 없을 수도 있음
    • 없으면 없는거지 뭐~

init, create 차이

  1. initialize: 객체를 최초로 설정
  2. create: 새 객체 생성

process -> Formatter

  • stringProcess() : 애매함. 프로세스를 하는데 뭘???
  • stringFormatter(): 문자열을 포맷팅 하는 구나!!

isGameStart -> All/Any

  • isGameStart() : 게임이 시작되었니? (하나만 체크하는지 몇개 체크하는지 애매모호함)
  • isAnyGameStarted(): Any 게임이 시작되었니?? (1개이상이면 됨)
  • isAllGameStarted(): All 게임이 시작되었니?? (전부 다 실행되어야함)

getFirst -> Empty?

  • getFirstElement(): 첫 번째 Element를 얻는다.
    • 마냥 첫 번째 Element를 얻니? 근데 "empty"라도 그냥 받는거야? 정보가 없네?!
      • empty 도 받어!: getFirstElementOrEmpty()
      • empty는 안 받어: getFirstElementNotEmpty()

if만 쓰자!!

  • if else 는 가독성 떨어진다.
  • ifException을 걷어내고 그냥 자유롭게 코드 쓰자.
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글