WHAT? HOW?

honggom·2023년 1월 27일
0

WHAT: 하려는 것, 의미, 의도

  • 가입한지 1년 미만...
  • 추가 지급 내역을 남긴다...

HOW: 실제 구현 방법

  • user 테이블에서 reg 컬럼 값 기준으로 count (가입한지 1년 미만...)
  • log 테이블에 insert (추가 지급 내역을 남긴다...)

개선 전 (HOW에 집중한 결과)

int count = userDao.countUsersByReg(userId);

if (count > 0) {
  pointRate += 1;
}

...
  
if (count > 0) {
  logDao.insert(new Log(..., "AR", 1, ...));
}

개선 후 (코드를 WHAT으로 표현해보기)

int addPointRate = 0;

if (userRegistedLessThanOneYear(userId)) { // 1년 미만 가입자면
  addPointRate = 1;
}

if (addPointRate > 0) { // 추가 포인트 비율이 0보다 크면
  recordAddPointHistory(userId, addPointRate); // 추가 포인트 비율 내역을 기록
}

WHAT과 HOW 분리 결과

  • 구현을 잠시 잊고 실제 하려는 것이 무엇인지 생각하게 됨
    • 실제 하려는 것이 코드에 표현될 가능성이 높아짐
    • 코드의 가독성이 향상
    • 유지보수성이 좋아짐

출처: https://www.youtube.com/watch?v=4xg4OeGzGIw

profile
while alive: study()

0개의 댓글