본문 바로가기

클린 코드

클린 코드 function

1. 원칙

  • 함수는 1가지 일만 해야 한다.
  • 함수 크기
    • 80년대 터미널의 한 화면은 24줄, 80 column을 볼 수 있었다. 이중 4줄은 에디터가 사용.
    • 함수는 20줄 이내여야 했다.
    • 요즘엔 모니터가 크다.
  • 들여쓰기, while, 중첩 if가 없어야 한다.
  • 주석 대신 잘 서술된 긴 함수명, 작고 많은 함수들

2. 함수의 첫번째 규칙

  • 더 이상 작아질 수 없을 만큼 작아야 한다.
  • 큰 함수를 보면 클래스로 추출할 생각을 해야 한다.
  • 클래스는 일련의 변수들에 동작하는 기능의 집합 -> 함수도 비슷하므로 큰 함수는 클래스로 추출할 수 있다.

중복되는 라인을 메서드로 추출하되 라인 상에서 일부가 다른 경우 변수로 뽑아낸다.

4. 개선

  • 읽기 쉬워지고
  • 이해하기 쉬워지고
  • 함수가 자신의 의도를 잘 전달한다(이름만 봐도 무슨 동작을 하는 지 알 수 있다)

5. 개선의 원인

  • 함수는 최대한 작아야 한다
  • if, else, while 문장 등의 내부 블록은 한 줄이어야 함(괄호 없이 함수 호출을 해야 함)
  • 함수는 중첩을 가질만큼 크면 안됨
  • 들여쓰기는 1, 2단계 정도만

6. 함수는 한 가지 일만 해야 한다.

  • 리팩토링 전의 함수(하나 이상의 일을 함)
  • 리팩토링 후의 함수는 한가지 단순한 일만 - 추상화된 함수 내부에 '여러 줄로 작성된 일'은 하나로 봐도 된다. 코드가 너무 구체적으로 작성되었다면 추상화해서 함수화. 더이상 추상화하는 게 의미가 없을 정도로 추상화해야 함.

 

출처 https://www.youtube.com/watch?v=GYNT7O3rLhU&list=PLuLb6MC4SOvXCRePHrb4e-EYadjZ9KHyH&index=3

'클린 코드' 카테고리의 다른 글

클린 코드 function structure 2  (0) 2019.12.10
클린 코드 function structure  (0) 2019.12.10
클린 코드 function 2  (0) 2019.12.10
클린 코드 OOP 2  (0) 2019.12.10
클린 코드 소개 및 OOP  (0) 2019.12.04