What과 How를 구분하자

김석·2023년 5월 18일
0

Basics

목록 보기
2/2

1. 구현 본능

요구 사항

가입한지 1년 미만이면 포인트 지급을 추가로 1% 더 해주고 추가 지급 내역을 남겨주세요.

how를 바탕으로 직역에 가까운 코드로 구현

문제점: 시간이 흘러 요구 사항이 희미해지거나, 의도를 모르는 다른 사람이 코드를 본다면,

  • 왜 count가 0보다 클 때만 남기는지?
  • 요구 사항이 바뀌어 다른 조건문이 추가된다면?

이전에 작성한 코드와 불협화음이 생긴다.


2. What과 How를 나누어 생각하기.

What: 하려는 것/의미/의도
How: 그것의 실제 구현


3. 전과 후의 비교


4. 결과

구현을 잠시 잊고 실제 하려는 것이 무엇인지 생각하게 됨

  • 실제 하려는 것이 코드에 표현될 가능성이 높아짐
  • 코드의 가독성이 향상됨
  • 유지보수성이 좋아짐

평소 의식의 흐름대로 막 구현하면 늘지 않는다. 의미/의도가 드러나는 코드를 작성하도록 의식적으로 노력해야 한다. 연차가 쌓인다고 절로 늘지 않는다.


출처

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

profile
handsome

0개의 댓글