[클린 코드] 1. 네이밍(Naming)

컨벤션(Convention)

  • 코딩을 하며 네이밍 할 때 대표적 컨벤션으로 snake_case, camelCase, PascalCase, kebab-case 등 4가지가 있다.
    • snake_case: python, rube 등에서 권장
    • camelCase: java, javascript 등에서 권장
    • PascalCase: 대부분 프로그래밍 언어에서 클래스를 네이밍할 때 사용
    • kebab-case: html element를 표현할 때 사용

변수와 상수

  • 일반적으로 변수와 상수를 네이밍할 때 명사 혹은 형용사 구문 형태로 짓는다.
1
2
user_data = ... # 명사
is_valid = ... # 형용사

함수와 메서드

  • 일반적으로 함수와 메서드를 네이밍할 때 동사 혹은 형용사 구문 형태로 짓는다.
1
2
3
4
5
def send_data():
    ...

def input_is_valid():
    ...

클래스

  • 일반적으로 클래스 이름을 네이밍할 때 명사 구문 형태로 짓는다.
1
2
3
4
5
class Client:
    ...

class RequestBody:
    ...

  • 구체적이고 명시적으로 적어야 한다.
1
2
3
4
5
6
7
8
9
# as-is
dt = "20210901KST"
for i in data:
  ...

# to-be
datetime_with_timezone = "20210901KST"
for product in products:
  ...
  • 불필요한 표현을 제거한다.
1
2
3
4
5
6
7
8
9
# as-is
product_with_price = Product("아이폰", 3000)
the_message = 1 # 불필요한 관사 포함
name_string = "grab" # 변수명에 타입을 부가적으로 표현함

# to-be
product = Product("아이폰", 3000) 
message = 1
name = "6mini"
  • 길다고 나쁜 게 아니다.
  • 짧고 애매한 표현보다 길고 직관적인 표현이 낫다.
0%