클린코드 함수

송수용·2022년 6월 2일
0

clean code

목록 보기
2/4

함수

작게 만들어라

  1. 함수를 만드는 첫째 규칙은 ‘작게’ 다
  2. 함수를 만드는 둘째 규칙은 ‘더 작게’ 다

블록과 들여쓰기

  • if문/else문 while문 등에 들어가는 블록은 한 줄 이어야 한다는 의미다. 대개 거기서 함수를 호출한다.
  • 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 그래야 읽고, 이해하기가 쉬워진다.

한가지만 해라

💡 함수는 한 가지를 해야 한다. 그 한가지를 잘 해야 한다. 그 한 가지만을 해야한다.

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

위에서 아래로 코드 읽기 : 내려가기 규칙

  • 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다.
  • 핵심은 짧으면서도 ‘한 가지’만 하는 함수다.

Swich 문

  • switch 문은 작게 만들기 어렵다.
  • 본질적으로 switch문은 N가지를 처리한다.
  • 반복하지 않는 방법은 다형성을 이용한다.

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

  • 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다_워드
  • 이름을 붙일 때는 일관성이 있어야 한다.

함수 인수

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

try/Catch 블록 뽑아내기

  • try/Catch 블록은 코드 구조에 혼란을 일으키며, 정상 동작과 오류 처리 동작을 뒤섞는다.
  • try/Catch 블록을 별도 함수로 뽑아내는 편이 좋다.

반복하지 마라

  • 객체지향 프로그래밍은 코드를 부모 클래스로 몰아 중복을 없앤다.
  • 구조적 프로그래밍 AOP,COP 모두 어떤 면에서 중복 제거 전략이다.
  • 소스 코드에서 중복을 제거하려는 지속적인 노력

구조적 프로그래밍

  • 데이크스트 : 모든 함수와 함수 내 모든 블록에 입구와 출구가 하나만 존재해야 한다.
  • 함수는 return 문이 하나여야 한다.
  • 루프안에서 break나 continue를 사용해선 안 되며 goto는 절대로 사용해선 안된다.
profile
#공부중 #협업 #소통중시 #백엔드개발자 #능동적 #워커홀릭 #스파르타코딩 #항해99 #미니튜터 #Nudge #ENTJ #브레인스토밍 #아이디어뱅크

0개의 댓글