데브코스 8일차 TIL : 느긋한 계산법

te-ing·2021년 8월 12일
1
post-thumbnail

map, filter, reduce, go, curry, pipe 등을 사용해 함수형 프로그래밍을 할 때 코드의 가독성과 재사용률을 높이는 방법을 배운다. 지난주에는 "프로그래밍을 어떻게 할 수 있을까" 를 공부했다면, 이번주는 "어떻게 하면 더 잘 쓸 수 있을까" 를 배우는 느낌이다.

아는 것들이 나와 좋아했던 것도 잠시, iterator, generator들이 등장해서 익숙했던 코드들에 L을 붙기 시작했다. 유인동 강사님이 가르쳐주시는 일명 느긋한 계산법으로, 코드의 평가를 미루다가 맨 마지막에 평가해서 코드 효율을 높이는 방식이다.

느긋한 계산법을 사용하면 맨 마지막에 평가하면서 결과값이 맞는지 확인하는 것처럼 작동이 된다. 이 때문에 작동순서는 맨 아래의 작업부터 위로 올라가는 역순으로 실행되고, 세로진행이 된다.

세로진행이 무슨 말이냐면,
[0, 1, 2, 3, 4 ...] 를 0, 1, 2, 3, 4... 순으로 만든 뒤 전부 확인 하는 것이 아니라(가로진행)
0에서 확인, 1에서 확인, 2에서 확인 ... 순으로 진행되는 것이다.(세로진행)
똑똑하게 코드를 쓴다는 말이 이런건가 싶을 정도로, 코드들은 깔끔해졌지만 내 머릿속은 더 복잡해졌다.

왜 똑같이 했는데 오류가 나는거지!?


팀원들의 알고리즘 코드리뷰를 하면서 내가 코드를 쓸 때 보다 더 머리아팠던 것 같다. 마치 이제 막 한글을 배웠는데 다른 사람의 글을 첨삭해주는 느낌이랄까. 뭐가 맞는지도 모르는데 코드리뷰를 해줘도 될까 싶은 마음도 들고, 다들 나보다 잘하는 구나 싶은 마음도 들었다. 나도 팀원들한테 도움이 되고 싶은데..😥

profile
프론트엔드 개발자

0개의 댓글