책/클린 코드

[책 리뷰] 클린 코드(Clean Code) - 3. 함수

염소 2021. 8. 29. 23:47
반응형

클린 코드 3장 (함수)를 읽고, 내가 적용할 수 있는 내용과 기억하고 싶은 내용을 포스팅한다.

 

1. 함수는 최대한 작게!

- 함수는 최대한 작게 만들어라 (라인 수, 하는 일 통틀어서)

- 하나의 함수는 딱 한 가지 일만 해라

 

머리로는 알고 있지만, 실제 개발하면서 적용하기 쉽지 않은 내용이다.

중복이 있거나, 함수 이름이 두 가지 행동으로 표시된다면

두 개의 함수로 나누는게 옳다.

 

2. 함수 내부의 추상화 레벨은 같게

- 함수 내부의 추상화 레벨은 동일하게 한다.

처음 읽고서 이게 무슨 소리인가 했는데

내가 이해한 내용은 아래와 같다.

 

아래의 함수들은 추상화 수준이 높다.

getHtml()
getFile()

 

아래의 함수는 추상화 수준이 중간이다.

String pagePathName = PathParser.render(pagepath)

 

아래의 코드는 추상화 수준이 매우 낮다

.append("\n")

 

함수의 추상화 수준이란 함수 내부의 행동들의 추상화 레벨을 말하는 것으로 보인다.

(html을 가져온다,, 파일을 복사한다,, 페이지를 렌더링한다.. 문자열을 붙인다 등)

 

함수 내부의 행동들의 추상화 레벨이 섞여있다면, 소스를 읽을 때 코드를 읽는 사람이

해당 함수가 어느 범위까지 구현되었는지 헷갈리게 된다.

 

그렇게 되면 추후 수정할 때 엄한 범위에 추가 내용이나 세부 사항을 덧붙이게 되어 함수가 지저분해지게 될 것이다.

 

따라서 추상화 레벨을 일정하게 유지하는 것이 중요하다고 생각한다.

평소에 생각하지 못한 부분이라 감명깊었다.

반응형