함수 네이밍을 위한 자주 쓰는 동사 비교 총정리.

작성 : 2023-07-19수정 : 2023-07-19

목차 펼치기

머리말

함수와 변수의 네이밍은 개발 과정에서 가장 어려운 부분 중 하나다. 적절한 네이밍은 코드의 가독성, 유지보수성, 디버깅 등 다양한 측면에서 긍정적인 영향을 미치며 주석 없이도 코드의 의미를 명확하게 전달할 수 있게 도와준다.


변수가 명사로 이름 지어진다면, 함수는 동사로 이름 지어진다. 해당 함수가 어떤 기능을 수행하는지 함수의 이름이 명확하게 드러내는 이름이 좋은 이름이다. 이는 추후 문서화에도 큰 도움이 될 수 있다.


개발자들이 함수의 이름을 명명하는데 있어 자주 사용하는 동사들이 있고 그 중 유사하지만 다른 단어들이 있다. 예를 들면 ‘change’, ‘modify’, ‘update’ 같은 단어들이다. 이러한 단어들을 사용할 때 기준을 두고 적절하게 네이밍을 한다면 빠르게 일관된 코드를 작성할 수 있다.


이전에는 개발하면서 자연스레 생각나고 익숙한 단어들을 사용할 뿐 유사한 단어들 중 왜 이 단어를 선택했는 지에 대해서는 설명할 수 없었다. 이번에 비교하고 정리하는 기회를 통해 앞으로는 합리적인 기준을 적용하여 일관성 있는 코드를 작성하기 위해 노력해보자.


일부 포괄적인 의미를 지니는 단어들에 대해서는 정의 상으로는 크게 구분이 어려운 것들이 있다. 특히 ‘change’가 제일 그러한 단어인 것 같은데 이런 경우에는 스스로의 추가적인 기준에 대해 고민해보면 좋을 것 같다.



비교 요약

  1. 데이터 조작:

    • Set: 변수나 객체의 속성을 설정하거나 값을 변경하는 데 사용됩니다.

    • Read: 데이터를 읽어오는 데 사용되며, 주로 파일이나 외부 소스에서 정보를 읽어옵니다.

    • Get: 객체나 데이터 구조에서 특정 요소나 속성을 얻을 때 사용됩니다.

    • Retrieve: 어떤 정보를 검색하거나 가져오는 데 사용됩니다.

    • Add: 기존 데이터에 새로운 값을 더하거나 추가하는 데 사용됩니다.

    • Edit: 기존 데이터를 수정하거나 변경하는 데 사용됩니다.

    • Find: 특정 데이터를 찾는 데 사용되며, 주로 검색 작업에 사용됩니다.

  2. 데이터 초기화 및 제거:

    • Create: 새로운 객체나 데이터 구조를 생성하고 초기화하는 데 사용됩니다.

    • Register: 시스템이나 서비스에 새로운 항목을 추가하거나 등록하는 데 사용됩니다.

    • Generate: 임의의 데이터나 값을 생성하는 데 사용됩니다.

    • Reset: 값을 초기 상태로 재설정하는 데 사용됩니다.

    • Clear: 컬렉션에서 요소를 제거하여 비우는 데 사용됩니다.

    • Remove: 컬렉션에서 요소를 제거하는 데 사용됩니다.

    • Delete: 기존 데이터나 객체를 영구적으로 제거하는 데 사용됩니다.

  3. 데이터 변경 및 업데이트:

    • Modify: 객체나 데이터의 일부를 수정하거나 조정하는 데 사용됩니다.

    • Update: 기존 데이터를 새로운 값으로 대체하여 업데이트하는 데 사용됩니다.

    • Change: 변수나 상태를 다른 값으로 바꾸는 데 사용됩니다.

    • Revise: 문서나 내용을 수정하거나 개정하는 데 사용됩니다.

  4. 상태 제어 및 일시적인 작업 정지:

    • Pause: 실행 중인 작업을 일시적으로 멈추는 데 사용됩니다.

    • Suspend: 실행 중인 작업을 일시적으로 중단하는 데 사용됩니다.

    • Hold: 상태나 동작을 일시적으로 유지하는 데 사용됩니다.

  5. 작업 및 프로세스 완료:

    • Stop: 어떤 동작이나 프로세스를 중지하는 데 사용됩니다.

    • End: 어떤 동작이나 상태를 종료하는 데 사용됩니다.

    • Finish: 어떤 작업이나 프로세스를 완료하는 데 사용됩니다.


전체 질문

Create vs Register vs Generate

  1. Create:

    • 의미: 새로운 객체나 데이터 구조를 생성하고 초기화하는 데 사용됩니다. 새로운 인스턴스를 만들거나 초기값을 설정하여 객체를 생성하는 데에 사용됩니다.

    • 예시: "CreateUser()"는 새로운 사용자를 생성하는 함수로, 사용자 객체를 초기화하여 새로운 사용자를 만듭니다.

  2. Register:

    • 의미: 시스템이나 서비스에 새로운 항목을 추가하거나 등록하는 데 사용됩니다. 보통 사용자, 계정, 또는 이벤트 등을 시스템에 등록할 때 사용됩니다.

    • 예시: "RegisterEvent()"는 이벤트를 등록하는 함수로, 이벤트 정보를 시스템에 추가합니다.

  3. Generate:

    • 의미: 임의의 데이터나 값을 생성하는 데 사용됩니다. 무작위 값을 생성하거나, 특정 규칙에 따라 데이터를 자동으로 생성하는 데에 사용됩니다.

    • 예시: "GenerateRandomNumber()"는 무작위로 숫자를 생성하는 함수로, 랜덤한 값을 반환합니다.

이러한 단어들은 객체나 데이터의 생성과 관련하여 사용됩니다. "Create"는 새로운 객체나 데이터 구조를 생성하고 초기화하는 데 사용되며, "Register"는 시스템이나 서비스에 새로운 항목을 추가하거나 등록하는 데 사용됩니다. "Generate"는 임의의 데이터나 값을 생성하는 데 사용되며, 랜덤한 값을 만들거나 자동으로 데이터를 생성하는 데에 활용됩니다.


Add vs Set

  1. Add:

    • 의미: 기존 데이터나 값에 다른 값을 더하거나 새로운 값을 추가하는 데 사용됩니다. 덧셈 연산과 관련하여 사용되는 경우가 많지만, 일반적으로 어떤 값에 다른 값을 합치는 작업에 사용됩니다.

    • 예시: "AddToCart()"는 장바구니에 상품을 추가하는 함수로, 기존에 있는 상품에 새로운 상품을 합산하여 장바구니에 추가합니다.

  2. Set:

    • 의미: 변수나 객체의 속성을 설정하거나 값을 변경하는 데 사용됩니다. 주로 변수에 값을 할당하거나 객체의 속성을 초기화하는 데에 사용됩니다.

    • 예시: "SetBackgroundColor()"은 화면의 배경색을 설정하는 함수로, 지정된 색상 값을 배경색으로 설정합니다.

"Add"와 "Set"은 둘 다 데이터 조작과 관련하여 사용되는 동사입니다. "Add"는 기존 데이터에 새로운 값을 더하는 작업을 의미하며, "Set"은 변수나 객체의 속성을 설정하거나 값을 변경하는 작업을 의미합니다.


Read vs Get vs Retrieve vs Search

  1. Read:

    • 의미: 데이터를 읽어오는 데 사용되며, 주로 파일이나 외부 소스에서 정보를 읽어올 때 사용됩니다. 읽어온 데이터를 활용하여 프로그램 내에서 처리하거나 표시하는 작업에 사용됩니다.

    • 예시: "ReadFile()"은 파일에서 데이터를 읽어오는 함수로, 파일로부터 정보를 읽어와서 프로그램에 활용합니다.

  2. Get:

    • 의미: 객체나 데이터 구조에서 특정 요소나 속성을 얻을 때 사용됩니다. 주로 변수나 객체의 값을 반환받을 때 사용되며, 해당 요소의 값을 가져와 사용자에게 보여주거나 처리하는 데에 사용됩니다.

    • 예시: "GetUserInfo()"는 사용자 정보 객체에서 특정 사용자의 정보를 가져오는 함수로, 사용자의 이름, 이메일 등을 반환합니다.

  3. Retrieve:

    • 의미: 어떤 정보를 검색하거나 가져오는 데 사용됩니다. "Retrieve" 역시 "Read"와 비슷한 의미로, 데이터를 얻어오거나 가져오는 작업에 사용됩니다.

    • 예시: "RetrieveData()"는 데이터베이스에서 정보를 검색하여 가져오는 함수로, 데이터베이스에서 데이터를 가져옵니다.

  4. Search:

    • 의미: 특정 조건이나 키워드에 따라 데이터를 검색하는 데 사용됩니다. 주로 데이터베이스나 컬렉션에서 원하는 정보를 찾을 때 사용되며, 검색 결과를 반환하는 형태로 사용됩니다.

    • 예시: "SearchProducts()"는 상품 데이터베이스에서 특정 키워드를 검색하여 관련 상품을 찾아 반환하는 함수로, 검색 결과를 반환합니다.

"Read", "Get", "Retrieve", 그리고 "Search"는 데이터를 가져오거나 검색하는 데에 사용되는 동사들로 비슷한 의미를 가지고 있습니다. "Read"는 주로 파일이나 외부 소스에서 데이터를 읽어올 때, "Get"은 객체나 데이터 구조에서 특정 요소를 가져올 때, "Retrieve"는 어떤 정보를 검색하거나 가져올 때 사용되는 경향이 있으며, "Search"는 특정 조건에 맞는 데이터를 검색하는 데 사용됩니다.


Update vs Modify vs Change vs Revise vs Edit

  1. Update:

    • 의미: 기존 데이터나 정보를 새로운 값으로 갱신하거나 업데이트하는 것을 의미합니다. 기존 데이터를 변경하여 최신 정보를 반영하는 작업에 사용됩니다.

    • 예시: "UpdateUserInfo()"는 사용자 정보를 업데이트하는 함수로, 사용자가 새로운 정보를 입력하거나 수정한 내용을 저장합니다.

  2. Modify:

    • 의미: 데이터나 객체의 일부를 변경하거나 수정하는 것을 의미합니다. 전체 데이터를 대체하지 않고도 특정 부분을 수정하는 작업에 사용됩니다.

    • 예시: "ModifySettings()"는 애플리케이션의 설정값 중 일부를 변경하는 함수로, 특정 설정 항목을 수정합니다.

  3. Change:

    • 의미: 변수나 상태를 다른 값으로 바꾸는 것을 의미합니다. 어떤 값을 새로운 값으로 대체하는 작업에 사용됩니다.

    • 예시: "ChangeTheme()"은 애플리케이션의 테마를 변경하는 함수로, 테마를 다른 스타일로 바꿉니다.

  4. Revise:

    • 의미: 문서나 내용을 수정하거나 개정하는 것을 의미합니다. 주로 문서를 개정하거나 업데이트하는 작업에 사용됩니다.

    • 예시: "ReviseDocument()"는 문서의 내용을 수정하거나 개정하는 함수로, 새로운 정보로 문서를 업데이트합니다.

  5. Edit:

    • 의미: 일반적으로 수정이 가능한 자료를 변경하는 행위를 의미합니다. 프로그래밍에서도 데이터를 수정하는 작업을 포함합니다. "Edit"은 "Modify"와 유사한 의미를 가지며, 객체나 자료를 수정하는 데에 사용될 수 있습니다.

    • 예시: "EditPost()"는 게시물을 수정하는 함수로, 사용자가 게시물의 내용을 변경할 수 있도록 합니다.


Delete vs Remove vs Reset vs Clear

  1. Delete:

    • 의미: 기존 데이터나 객체를 영구적으로 제거하는 데 사용됩니다. 삭제된 데이터는 더 이상 사용되지 않으며, 메모리에서도 해제될 수 있습니다.

    • 예시: "DeleteUser()"는 사용자를 삭제하는 함수로, 사용자 정보를 시스템에서 영구적으로 제거합니다.

  2. Remove:

    • 의미: 컬렉션이나 데이터 구조에서 특정 요소를 제거하는 데 사용됩니다. 삭제된 요소는 더 이상 컬렉션에 속하지 않게 됩니다.

    • 예시: "RemoveItemFromCart()"는 장바구니에서 특정 상품을 제거하는 함수로, 해당 상품을 장바구니에서 삭제합니다.

  3. Reset:

    • 의미: 값을 초기 상태로 재설정하는 데 사용됩니다. 주로 변수나 설정을 기본 값으로 다시 설정하는 작업에 사용됩니다.

    • 예시: "ResetSettings()"는 애플리케이션의 설정값을 기본 설정값으로 다시 초기화하는 함수입니다.

  4. Clear:

    • 의미: 컬렉션이나 데이터 구조에서 요소를 제거하여 비우는 데 사용됩니다. 전체 컬렉션을 비우는 작업에 사용됩니다.

    • 예시: "ClearList()"는 리스트를 비우는 함수로, 리스트 내 모든 요소를 제거합니다.

"Delete", "Remove", "Reset", 그리고 "Clear"는 데이터나 요소를 제거하거나 초기화하는 데에 사용되는 동사들입니다. "Delete"는 기존 데이터나 객체를 영구적으로 삭제하는 데 사용되며, "Remove"는 컬렉션에서 특정 요소를 제거하는 데 사용됩니다. "Reset"은 값을 초기 상태로 되돌리는 데에 사용되고, "Clear"는 컬렉션을 비우는 데에 사용됩니다.


Stop vs End vs Finish

  1. Stop:

    • 의미: 어떤 동작이나 프로세스를 중지하는 데 사용됩니다. 실행 중인 작업을 일시적으로 끝내거나 중단하는 작업에 사용됩니다.

    • 예시: "StopTimer()"는 타이머 동작을 중지하는 함수로, 실행 중인 타이머를 멈춥니다.

  2. End:

    • 의미: 어떤 동작이나 상태를 종료하는 데 사용됩니다. 일반적으로 특정 상태를 마무리하거나 완료하는 작업에 사용됩니다.

    • 예시: "EndGame()"은 게임을 종료하는 함수로, 게임 플레이를 마무리하고 게임을 종료합니다.

  3. Finish:

    • 의미: 어떤 작업이나 프로세스를 완료하는 데 사용됩니다. 주로 실행 중인 작업이 완료되었음을 나타내는 데에 사용됩니다.

    • 예시: "FinishTask()"는 특정 작업을 완료하는 함수로, 해당 작업이 모두 끝났음을 표시합니다.

"Stop", "End", 그리고 "Finish"는 어떤 동작이나 상태를 종료하거나 완료하는 데 사용되는 동사들입니다. "Stop"은 실행 중인 작업을 일시적으로 중단하는 데에 사용되며, "End"는 상태나 동작을 마무리하거나 종료하는 데에 사용됩니다. "Finish"는 작업이나 프로세스를 완료하는 데에 사용되며, 해당 작업이 끝났음을 나타냅니다.


Pause vs Suspend vs Hold

  1. Pause:

    • 의미: 어떤 동작이나 프로세스를 일시적으로 멈추는 데 사용됩니다. 잠시 동안 실행 중인 작업을 일시적으로 중지하고, 나중에 다시 재개할 수 있는 상태로 만듭니다.

    • 예시: "PauseDownload()"는 파일 다운로드 작업을 일시 중지하는 함수로, 다운로드를 잠시 멈추고 이후에 다시 이어서 다운로드할 수 있도록 합니다.

  2. Suspend:

    • 의미: 어떤 동작이나 프로세스를 일시적으로 중단하는 데 사용됩니다. "Pause"와 비슷한 의미지만, "Suspend"는 보다 장기적이고 지속적인 중단을 의미할 수 있습니다.

    • 예시: "SuspendThread()"는 스레드의 실행을 일시 중단하는 함수로, 스레드가 잠시 동안 중지되며 다른 작업을 수행할 수 있습니다.

  3. Hold:

    • 의미: 상태나 동작을 일시적으로 유지하거나 지속하는 데 사용됩니다. 어떤 동작이나 프로세스를 계속 유지하고, 중단하지 않고 실행을 계속하도록 합니다.

    • 예시: "HoldConnection()"은 네트워크 연결을 유지하는 함수로, 연결이 끊어지지 않고 계속해서 유지됩니다.

"Pause", "Suspend", 그리고 "Hold"는 모두 어떤 동작이나 프로세스를 일시적으로 멈추거나 중단하는 데 사용되는 동사들입니다. "Pause"와 "Suspend"는 주로 일시적인 중단을 의미하며, "Hold"는 보다 지속적인 유지를 의미하는 경향이 있습니다.

Wanna get in touch?

All Icons byiconiFy