다시 공부

함수명 짓기

콛 다이어리 2024. 10. 15. 00:20

전에 팀플 할 때는

앞에 동사를 넣기도 했거나

'Func'를 넣기도 했는데

튜터님이나 강의를 하는 사람들 대다수는

'handle', 'set' 이나 'get'을 넣어서

호기심에 검색해 보았다.

 

사실 전에 같은 조였던 분이

변수/ 함수명 추천 사이트를 알려주시긴 했는데

아무래도 내가 직접 만드는 게 좋을 것 같아서

지운지 오래다.

베이직반에 있던 노션 내용을 추가해서

정리해보았다.

 

 

 

1. 동작을 설명하는 이름을 사용한다.

함수명은 함수가 수행하는 동작이나 작업을 잘 설명해야

코드를 읽는 사람이 함수가 어떤 일을 수행하는지

쉽게 이해할 수 있음

    ex1) displayErrorMessage(message)

           오류 메시지를 표시하는 함수

    ex2) updateUserProfile(userData)

            사용자 프로필을 업데이트하는 함수

 

 

2. 동사를 사용하여 함수의 동작을 표현한다.

함수명은 주로 함수가 수행하는 동작을

설명하는 동사로 시작하는 것이 일반적임 

이는 함수가 어떤 동작을 하는지 정확히 나타내고

가독성을 높일 수 있음

    ex1) validateInput(inputData)

           입력된 데이터가 유효한지 확인하는 함수

    ex2)  deleteItemFromCart(itemID)

           특정 상품을 삭제하는 함수

 

 

3. get, set을 사용하여 접근자 함수를 표시한다.

객체의 속성을 읽거나 쓰는 함수인 경우,

get이나 set을 함수명에 포함하여

의미를 명확히 할 수 있음

 

    1)  get을 사용한 접근자 함수:

해당 속성을 반환하거나,

속성을 읽기 전에 특정한 로직을 수행
    ex1)  getUsername()

            사용자 객체의 username 속성을 반환


    2)  set을 사용한 접근자 함수:

해당 속성에 값을 할당하거나,

값을 설정하기 전에 특정한 로직을 수행
    ex1)   setEmail()

            사용자 객체의 email 속성을 설정

 

 

4. is, has, can을 사용하여 불리언 반환 함수 표시

함수가 어떤 조건을 만족하는지 확인하거나

특정 속성이 있는지 확인하는 경우, 

함수명에 is, has, can를 사용

    ex1) isValidEmail(email)

             이메일이 유효한지 확인하는 함수

             is 접두사를 사용하여

             불리언 값을 반환한다는 것을 명시

    ex2)  hasPermission(user, permission)

              특정 사용자가

              특정 권한을 가지고 있는지 확인하는 함수

 

 

7. 한 개념에 하나의 단어를 사용하기:

추상적인 개념 하나에 단어 하나를 선택해 이를 고수
    ex1)  fetch, retrieve, get으로 제각각 부르면 혼란

               api를 부르는건 fetch 이런식으로 정함

 

 

8. 한 단어를 두 가지 목적으로 사용하지 않기
    ex1)   같은 맥락이 아닌데도

                일관성을 고려해 add라는 단어를 선택할 때  
    ex2)   addItems() : 기존 값 두 개를 더하거나 이어서 새로운 값  
    ex3)   addPencil() : 집합에 값 하나를 추가

 

 

+

이벤트처리함수:

이벤트 처리 함수에는 주로 on이나 handler를 붙임

주로 이벤트 리스너를 등록하는 역할

특정 이벤트에 대한 동작을 나타내는 것이 주 목적임

1. 클릭: handleClick, onClick
2. 입력: handleInputChange, onInputChange
3. 제출: handleSubmit, onFormSubmit
4. 마우스 호버: handleMouseHover, onMouseHover

'다시 공부' 카테고리의 다른 글

react-router-dom 사용하는 방법  (0) 2024.10.21
배치 업데이트(Batch Update)  (1) 2024.10.18
환경 변수  (1) 2024.09.20
useState (배열)  (0) 2024.08.27
useState (문자, 숫자)  (0) 2024.08.27