요즘 핫 한 ChatGPT를 유료 결제 하고, 이것 저것 질문을 해보았습니다.
Q: python api 작명법
A: Python API 작명법은 일반적으로 PEP 8 스타일 가이드에 따라 작성됩니다. PEP 8은 파이썬의 공식 스타일 가이드로, 코드를 읽기 쉽고 이해하기 쉽게 만들어줍니다. API 작성에도 적용할 수 있는 일반적인 규칙은 다음과 같습니다.
- 함수와 메서드의 이름은 소문자와 밑줄을 사용하여 작성합니다.
- 변수와 함수 매개변수의 이름도 소문자와 밑줄을 사용하여 작성합니다.
- 클래스의 이름은 대문자로 시작하는 카멜 케이스(CamelCase)로 작성합니다.
- 모듈의 이름도 소문자와 밑줄을 사용하여 작성합니다.
예를 들어, 다음은 PEP 8에 따른 예시입니다.
# 함수와 메서드의 이름
def calculate_average(numbers_list):
...
class MyClass:
def __init__(self):
...
# 변수와 함수 매개변수의 이름
my_variable = 42
def print_message(message):
...
# 모듈의 이름
import my_module
API 작성에는 더욱 구체적인 규칙이 존재할 수 있습니다. 따라서 해당 API의 문서를 참조하여 작명법을 따르는 것이 좋습니다.
- 상수의 이름은 모두 대문자와 밑줄을 사용하여 작성합니다.
- 함수나 메서드의 이름은 가능한 명사 또는 동사로 작성합니다. 함수나 메서드의 이름에서 명사와 동사는 함께 사용하여 기능을 명확하게 설명해야 합니다.
- 클래스의 이름은 명사로 작성하며, 클래스 이름이 여러 단어로 이루어진 경우 각 단어의 첫 글자를 대문자로 작성합니다. 이 스타일을 카멜 케이스(CamelCase)라고 합니다.
- 모듈의 이름은 짧고 명확해야 하며, 가능한 단일 단어로 작성하는 것이 좋습니다. 모듈의 이름도 카멜 케이스를 사용할 수 있지만, 보통은 소문자와 밑줄을 사용하여 작성합니다.
예를 들어, 다음은 PEP 8에 따른 예시입니다.
# 상수의 이름
MAXIMUM_NUMBER = 100
# 함수나 메서드의 이름
def calculate_average(numbers_list):
...
class MyClass:
def __init__(self):
...
def perform_action(self):
...
# 클래스의 이름
class MyClassName:
...
# 모듈의 이름
import my_module
API 작성 시에는 일관성이 매우 중요합니다. 같은 기능을 수행하는 함수나 메서드의 이름이 다른 경우, 사용자가 API를 이해하는 데 어려움을 겪을 수 있습니다. 따라서 API 작성 시에는 팀의 스타일 가이드를 따르거나, 기존 코드와 일관성 있게 작성하는 것이 좋습니다.
- 함수나 메서드의 이름에는 가능한한 매개변수의 자료형을 포함하지 않습니다. 함수나 메서드의 매개변수는 일반적으로 자료형에 대한 힌트(hint)를 포함할 수 있지만, 함수나 메서드의 이름에는 자료형에 대한 정보가 포함되어 있지 않아야 합니다.
- 함수나 메서드의 이름은 가능한한 짧게 작성하지 않습니다. 함수나 메서드의 이름은 가능한한 짧게 작성하는 것이 좋습니다. 그러나, 이름이 너무 짧으면 기능을 명확하게 설명하지 못할 수 있습니다. 따라서 이름은 가능한한 기능을 명확하게 설명할 수 있도록 작성하는 것이 좋습니다.
예를 들어, 다음은 PEP 8에 따른 예시입니다.
# 함수나 메서드의 이름에 자료형을 포함하지 않기
def calculate_average(numbers):
...
def add_numbers(x: int, y: int) -> int:
...
# 함수나 메서드의 이름이 너무 짧지 않게 작성하기
def calculate_average_of_numbers_in_list(numbers_list):
...
def add_two_numbers_and_return_result(first_number, second_number):
...
API 작성 시에는 사용자가 쉽게 이해할 수 있도록 기능을 명확하게 설명하는 것이 중요합니다. 또한, 코드의 가독성을 높이기 위해 이름을 가능한한 명확하게 작성하는 것이 좋습니다.
'Coding > Python 삽질기' 카테고리의 다른 글
[ChatGPT에게 묻다] python으로 Simple Stack VM 만들기 (1) (0) | 2023.03.17 |
---|---|
[Python] Cycloid 곡선 그리기 (0) | 2023.03.09 |
[Python] Python 소소한 기능들 (0) | 2023.02.04 |