[클린코드] 3장 함수

Seunghwa's Devlog·2022년 5월 11일
0

클린코드

목록 보기
3/3

정리

작게 만들어라!

  • 함수를 만드는 첫째 규칙은 '작게!' 이다. 둘째 규칙은 '더 작게!' 이다.
  • 중첩구조가 생길 만큼 함수가 커져서는 안 된다. 그래야 함수는 읽고 이해하기 쉬워진다.

한가지만 해라!

  • 함수는 한가지를 해야하며 그 한가지를 잘 해야한다.
  • 지정된 함수 이름 아래에서 추상화 수준이 하나인 단게만 수행한다면 그 함수는 한 가지 작업만 한다.

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

  • 함수가 확실히 한 가지 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다.
  • 핵심은 짧으면서도 한 가지만 하는 함수이다.

Switch 문

  • 다형성을 이용한다.
  • 상속 관계로 숨긴 후에는 절대로 다른 코드에 노출하지 않는다.

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

  • 길고 서술적인 이름이 짧고 어려운 이름보다 좋다.
  • 함수 이름을 정할 때는 여러 단어가 쉽게 읽히는 명명법을 사용하고 여러 단어를 사용해 함수 기능을 잘 표현하는 이름을 선택한다.
  • 이름을 붙일 때는 일관성이 있어야 한다.

함수 인수

  • 함수에서 이상적인 인수 갯수는 0개(무항) 이다.
  • 때로는 인수 갯수가 가변적인 함수도 필요하다.
  • 가변 인수를 취하는 함수는 같은 원리가 적용되어야 한다.
  • 함수 이름에 키워드를 추가한다.

부수 효과를 일으키지 마라!

  • 일반적으로 출력 인수는 피해야 한다.
  • 상태를 변경해야 한다면 함수가 속한 객체 상태를 변경하는 방식을 택한다.

명령과 조회를 분리하라!

  • 함수는 뭔가를 수행하거나 답하거나 둘 중 하나만 해야 한다.

오류 코드보다 예외를 사용하라!

  • 정상 동작과 오류 처리 동작을 분리하면 코드를 이해하고 수정하기 쉬워진다.

반복하지 마라!

  • 중복은 소프트웨어에서 모든 악의 근원이다!

구조적 프로그래밍

  • 함수는 return문이 하나여야 한다.

함수를 어떻게 짜죠?

  • 소프트웨어를 짜는 행위는 글짓기와 비슷하다.
  • 처음부터 잘 짜는 사람은 없다.
  • 서투른 코드를 빠짐없이 테스트하는 단위 테스트 케이스를 만든다.

결론

  • 진짜 목표는 시스템이라는 이야기를 풀어나가는 데 있다.
  • 작성한 함수가 분명하고 정확한 언어로 깔끔하게 같이 맞아떨어져야 이야기를 풀어가기가 쉬워진다.

느낀 점

2장에서 읽었던 이름의 중요성이 함수를 만들 때도 매우 중요한 비중을 차지한다. 함수는 최대한 간단하고 명료하게 짜는 것이 현명한 방법인 것 같다.

profile
에러와 부딪히고 새로운 것을 배우며 성장해가는 과정을 기록합니다!

0개의 댓글