:ledger: 함수 네이밍과 단일 책임 원칙에 대해 알아보자

함수는 코드의 기본 구성 요소로, 어떤 동작을 수행하기 위한 코드 묶음이다. 이 글에서는 함수 이름 짓기와 작성 시 지켜야 할 기본 원칙을 알아보자

:one: 함수 네이밍: 명확 간결!

함수 이름은 무엇으로 할까?

  • 함수가 수행하는 동작을 명확히 나타내야 한다.
  • 간결하면서도 의미를 담아야 한다. 코드를 읽는 사람은 함수 이름만 보고 함수의 역할을 이해할 수 있어야 한다.

:pushpin: 1-1) 동작을 나타내는 동사 접두어을 사용해보자.

함수 이름은 대개 동사로 시작하며, 아래와 같은 접두어를 사용할 수 있다.

  • get..: 값을 반환 (getAge: 나이를 반환)
  • calc..: 계산 수행 (calcSum(): 함계를 계산)
  • create..: 무언가를 생성 (createForm(): 폼을 생성)
  • check..: 조건 확인 (checkPermission(): 권한 확인)

접두어를 적절히 활용하여 이름만으로 함수의 동작과 반환값을 유추할 수 있어 코드의 가독성이 크게 향상된다.

:two: 함수는 단일 책임을 가져야 한다.

“하나의 함수, 하나의 동작”
함수는 이름에 명시된 동작 하나만 수행해야한다. 여러 동작을 동시에 수행하지 않도록 주의하자!

  • getAge()는 나이 반환만 해야 하며, 메시지 출력은 포함되지 않아야 한다.
  • createForm()은 폼 생성만 수행하며, 생성된 폼을 DOM에 추가하는 작업은 다른 함수에서 처리해야 한다.

:three: 함수 이름으로 주석의 역할을 대신하라

  • 함수 이름이 명확하면 주석 없이도 코드를 이해할 수 있다.
  • 함수를 짧게 작성하면 디버깅과 테스트가 쉬워진다.

:four: 매개변수와 외부 변수

  • 함수는 매개변수와 지역 변수만 활용하여 동작해야 한다.
  • 외부 변수에 의존하는 함수는 이해하기 어렵고, 재사용성이 떨어진다.

:fire: 회고

  1. 함수 이름은 동사를 포함하여 명확히 동작을 나타내야 한다.
  2. 접두어(get, create, check, calc)를 사용하면 함수의 역할을 쉽게 알 수 있다.
  3. 단일 책임 원칙을 지켜, 함수는 하나의 동작만 수행해야 한다.
  4. 긴 함수는 분리하여 간결하고 읽기 쉬운 코드를 만들자.
  5. 매개변수와 지역 변수를 사용하고, 외부 변수 의존성을 줄이자.

:pushpin: 참고 문서

태그:

카테고리: ,

업데이트: