|| Clean Code || 함수는 어느정도의 단위로 쪼개야 하는가

윤코코·2022년 2월 21일
0

책 [Clean Code]를 읽고 정리한 내용입니다.

# 오늘 읽은 범위

3장. 함수

# 기억하고 싶은 내용

- 작게 만들어라!

  • 각 함수가 이야기 하나를 표현했다. ... 다시 말해, if문/else문/while문 등에 들어가는 블록은 한 줄이어야 한다는 의미다. (p.43)
  • 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. (p.44)

- 한 가지만 해라!

  • 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. (p.44)
  • 함수는 간단한 TO 문단으로 기술할 수 있다. (p.45)
  • 단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다. (p.45)

- 함수 당 추상화 수준은 하나로!

  • 함수가 확실히 '한 가지' 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다. (p.45)
  • 한 함수 내에 추상화 수준을 섞으면 코드를 읽는 사람이 헷갈린다. (p.46)
  • 코드는 위에서 아래로 이야기처럼 읽혀야 좋다. 한 함수 다음에는 추상화 수준이 한 단계 낮은 함수가 온다. (p.46)
  • 각 함수는 다음 함수를 소개한다. (p.47)

- Switch 문

(이해가 잘 되지 않음)

- 서술적인 이름을 사용하라!

  • 길고 서술적인 이름이 짧고 어려운 이름보다 좋다. 길고 서술적인 이름이 길고 서술적인 주석보다 좋다. (p.49)
  • 서술적인 이름을 사용하면 개발자 머릿속에서도 설계가 뚜렸해지므로 코드를 개선하기 쉬워진다. (p.49)

- 함수 인수

  • 함수에서 이상적인 인수 개수는 0개(무항)다. ... 4개 이상(다항)은 특별한 이유가 필요하다. 특별한 이유가 있어도 사용하면 안 된다. (p.50)

# 떠오르는 생각

  • 음... 이쯤 읽으니까 js 예제가 필요하다는 생각이 든다. 예제를 보면 언뜻은 이해하지만 java의 문법을 모르니 명확하게 이해하기 어렵다.
  • 그러면서도 역시 컴퓨터 언어 하나를 잘 익혀두면 다른 언어를 배우기 비교적 쉽다는 말이 무슨 의미인지 와닿았다. sql, python, js 등등 얕게나마 익혔던 언어들에 기반해서 java의 맥락을 대강이나마 파악할 수 있었기 때문이다.
  • 얼마전에 들었던 주니어 개발자 학습법에 대한 세미나에서 들었던 말이 떠올랐다. "개발은 어려운 학문임을 인정하자". 책을 가만히 읽고 있자니 정말 "공부"를 한다는 느낌이 오랜만에 들었다. 그동안은 뭔가 계속 만들어가는 과정 때문에 공부라는 느낌이 깊게 들지는 않았다. 그리고 공부한다는 느낌이, 좋았다.

# 궁금 or 잘 이해되지 않는 내용

  • TO란? (p.45)
profile
Web Front-End Developer

0개의 댓글