클린 코드 학습을 하며 선언적 프로그래밍과 프로젝트에서 우리 코드를 개선할 사항이 무엇이 있을지 고민을 해보았다.
먼저 선언형 프로그래밍에 대해 오해가 있던 부분이 있었던것 같다.
나는 3단계를 거치면서 이해 중 인데 학습 마다 다른 이유가 보이는것 같다.
첫번째 → 모든걸 작은 함수로 만들고 이를 변수에 할당하여 재사용성 및 가독성을 올리기
두번째 → 함수를 계속해서 만드는 이유는 모듈화 때문이고 이를 통해서 어휘적 흐름을 통해서 가독성이 올라감, 모듈화는 재사용성 및 분류의 기준을 새울 수 있게 해줌, 좋은 모듈은 재사용이 가능한 형태를 띄고 있어야함
세번째 → 모듈화를 하는 이유는 계산 과정을 숨기기 위해서임, 계산 과정이 숨겨질수록 사용 처에선 흐름을 파악하기 수월하기 때문임, 코드를 읽을때 구현부가 사용 부 에 있을 경우 전체적인 흐름을 방해함. 또, 작명이 중요한데 이 작명을 잘 할 수 있는 방법은? → 함수가 하나의 일을 하여 그 목적이 뚜렷 할 경우 난해한 이름보다 뚜렷한 이름으로 작명이 가능함
핵심이라 느낀거는 숨기고 싶은 로직과 보여주고 싶은 로직을 결정 하는 것이 통일 되어야 한다 생각했다.
가령 이런 상황인거다.
‘음, 이 함수는 한줄짜리 계산이니깐 구현부에 두고, 저 함수는 무거우니깐 숨겨야 겠다!’