WHAT 과 HOW 나눠서 생각하는 연습

wisdom·2022년 8월 27일
0

백엔드 개발자라면?

목록 보기
20/42

WHAT

  • 하려는 것
  • 의미
  • 의도

HOW

  • what의 실제 구현
whathow
가입한 지 1년 미만user 테이블에서 reg 칼럼 값 기준으로 count
추가 지급 내역 남김log 테이블에 insert
  • 코드를 what 으로 표현해보기
  • 구현은 그 다음에 고민

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

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

WHAT 과 HOW 분리 결과

  • 구현을 잠시 잊고 실제 하려는 것이 무엇인지 생각하게 됨
    - 실제 하려는 것이 코드에 표현될 가능성이 높아짐
    - 코드의 가독성 향상
    - 유지보수성이 좋아짐
  • 물론 구현 제약 등의 이유로 표현력이 떨어질 때도 있음

WHAT/HOW를 구분하는 연습을 해야한다

  • 평소에 의식의 흐름대로 막 구현만 하면 안됨
    - 의미/의도가 드러나는 코드를 작성하도록 노력해야 함
    - 연차가 쌓인다고 저절로 늘지는 않는다.

회고

  • 의도가 잘 드러나는 코드를 작성하기 위해서 WHAT/HOW를 구분하는 연습을 의도적으로 하면 도움이 많이 될 것같다!

참고

프로그래밍 초식: WHAT? HOW?

profile
문제를 정의하고, 문제를 해결하는

0개의 댓글