DAY7

🔖 오늘 읽은 범위 : 3장, 함수 (p.47~65)

😃 책에서 기억하고 싶은 내용을 써보세요.

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

  • 함수가 하는 일을 좀 더 잘 표현하면 훨씬 좋은 이름이다. 좋은 이름이 주는 가치는 아무리 강조해도 지나치지 않다. (p.49)
  • "코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다." (p.49)
  • 한 가지만 하는 작은 함수에 좋은 이름을 붙인다면 이런 원칙을 달성함에 있어 이미 절반은 성공했다. 함수가 작고 단순할수록 서술적인 이름을 고르기도 쉬워진다. (p.49)
  • 이름을 정하느라 시간을 들여도 괜찮다. IDE를 사용해 이런저런 이름을 시도한 후 초대한 서술적인 이름을 골라도 좋겠다. (p.49)
  • 서술적인 이름을 사용하면 개발자 머릿속에서도 설계가 뚜렷해지므로 코드를 개선하기 쉬워진다. (p.49)

💡 함수 인수

  • 함수에서 이상적인 인수 개수는 0개(무항)이다. 4개 이상(다항)은 특별한 이유가 필요하다. 특별한 이유가 있어도 사용하면 안된다. (p.50)
  • 인수가 3개를 넘어가면 인수마다 유효한 값으로 모든 조합을 구성해 테스트하기가 상당히 부담스러워진다. (p.50)
  • 출력 인수는 입력 인수보다 이해하기 어렵다. 최선은 입력 인수가 없는 경우이며, 차선은 입력 인수가 1개뿐인 경우다. (p.51)

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

  • 함수가 확실히 '한 가지' 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다. (p.45)
  • 한 함수 내에 추상하 수준을 섞으면 코드를 읽는 사람이 헷갈린다. 특정 표현이 근본 개념인지 아니면 세부사항인지 구분하기 어려운 탓이다. 근본 개념과 세부사항을 뒤섞기 시작하면, 깨어진 창문처럼 사람들이 함수에 세부사항을 점점 더 추가한다. (p.46)
  • 위에서 아래로 코드 읽기: 내려가기 규칙 (p.46)
    • 코드는 위에서 아래로 이야기처럼 읽혀야 좋다.
    • 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다.

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

✨ 복잡한 함수는 없어야 한다.

👉🏻 현업에서 코드를 짤 때 정말 어마어마 한 양의 함수 내용을 짜본 기억이 너무 많다. 한 함수에서 수행하는 가지수만 해도 최대 7개까지 짜본 기억이 많다. 사실 지금도 그런 부분이 흔하다. 왜? 추상화를 못시켰기 때문이다. 이 책을 진작에 읽을걸.. 기능이 잘 되는 부분에만 목적을 두고 코딩을 하다보니 리팩토링은 저멀리 놔두고 지저분한 코드만 작성한 기분이 들어 매우 우울해지는 하루.. 이 책을 하루빨리 읽어볼걸 싶다. 나도 다시 한 번 머리에 세겨야겠다. "함수 당 추상화 수준은 하나로!"

profile
운동하는 개발자입니다.

0개의 댓글