WHAT
HOW
what | how |
---|
가입한 지 1년 미만 | user 테이블에서 reg 칼럼 값 기준으로 count |
추가 지급 내역 남김 | log 테이블에 insert |
- 코드를 what 으로 표현해보기
- 구현은 그 다음에 고민
int addPointRate = 0;
if(userRegistedLessThanOneYear(userId)) {
addPointRate = 1;
}
if(addPointRate > 0) {
recordAddPointHistory(userId, addPointRate);
}
WHAT 과 HOW 분리 결과
- 구현을 잠시 잊고 실제 하려는 것이 무엇인지 생각하게 됨
- 실제 하려는 것이 코드에 표현될 가능성이 높아짐
- 코드의 가독성 향상
- 유지보수성이 좋아짐
- 물론 구현 제약 등의 이유로 표현력이 떨어질 때도 있음
WHAT/HOW를 구분하는 연습을 해야한다
- 평소에 의식의 흐름대로 막 구현만 하면 안됨
- 의미/의도가 드러나는 코드를 작성하도록 노력해야 함
- 연차가 쌓인다고 저절로 늘지는 않는다.
회고
- 의도가 잘 드러나는 코드를 작성하기 위해서 WHAT/HOW를 구분하는 연습을 의도적으로 하면 도움이 많이 될 것같다!
참고
프로그래밍 초식: WHAT? HOW?