리팩토링 계획

클린 코드 학습을 하며 선언적 프로그래밍과 프로젝트에서 우리 코드를 개선할 사항이 무엇이 있을지 고민을 해보았다.

먼저 선언형 프로그래밍에 대해 오해가 있던 부분이 있었던것 같다.

선언형 프로그래밍에 대해서

나는 3단계를 거치면서 이해 중 인데 학습 마다 다른 이유가 보이는것 같다.

첫번째 → 모든걸 작은 함수로 만들고 이를 변수에 할당하여 재사용성 및 가독성을 올리기

두번째 → 함수를 계속해서 만드는 이유는 모듈화 때문이고 이를 통해서 어휘적 흐름을 통해서 가독성이 올라감, 모듈화는 재사용성 및 분류의 기준을 새울 수 있게 해줌, 좋은 모듈은 재사용이 가능한 형태를 띄고 있어야함

세번째 → 모듈화를 하는 이유는 계산 과정을 숨기기 위해서임, 계산 과정이 숨겨질수록 사용 처에선 흐름을 파악하기 수월하기 때문임, 코드를 읽을때 구현부가 사용 부 에 있을 경우 전체적인 흐름을 방해함. 또, 작명이 중요한데 이 작명을 잘 할 수 있는 방법은? → 함수가 하나의 일을 하여 그 목적이 뚜렷 할 경우 난해한 이름보다 뚜렷한 이름으로 작명이 가능함

핵심이라 느낀거는 숨기고 싶은 로직과 보여주고 싶은 로직을 결정 하는 것이 통일 되어야 한다 생각했다.

가령 이런 상황인거다.

‘음, 이 함수는 한줄짜리 계산이니깐 구현부에 두고, 저 함수는 무거우니깐 숨겨야 겠다!’