나를 기록하다
article thumbnail
Published 2023. 3. 22. 14:44
클린 코드에 관하여 기타
반응형

 

클린 코드 작성법

클린 코드란 무엇인가?

클린 코드란 가독성이 좋고, 유지 보수가 쉬운 코드를 의미합니다. 클린 코드 작성법은 개발자들이 프로젝트에서 효율성과 품질을 높이기 위해 지켜야 할 기본 원칙 중 하나입니다. 본 글에서는 클린 코드 작성법에 대해 설명하고 몇 가지 실용적인 팁을 제공하겠습니다.

1. 의미 있는 변수명 사용하기

변수명은 해당 변수의 역할과 기능을 명확하게 전달해야 합니다. 가능한 한 간결하게 작성하되, 축약어를 남용하지 않고 명확한 의미를 유지하는 것이 좋습니다.

예시: userCount (O) / uc (X)

잘못된 예시:

a = 3
b = 5
c = a * b

올바른 예시:

width = 3
height = 5
area = width * height

 

 

 

2. 함수와 클래스의 역할 분리

함수와 클래스는 하나의 역할만 수행해야 합니다. 이를 통해 코드의 가독성과 유지 보수성을 높일 수 있습니다. 또한, 함수와 클래스의 이름도 그 역할을 명확하게 나타내야 합니다.

예시: 함수명 - createUser(), 클래스명 - UserManager

잘못된 예시:

class Calculator:
    def add_and_multiply(self, a, b):
        return a + b, a * b

올바른 예시:

class Calculator:
    def add(self, a, b):
        return a + b

    def multiply(self, a, b):
        return a * b

 

 

 

3. 주석의 적절한 활용

주석은 코드에 대한 설명이나 작성자의 의도를 전달하는 데 유용하지만, 과도한 주석은 오히려 가독성을 떨어뜨릴 수 있습니다. 따라서 주석은 반드시 필요한 경우에만 사용하고, 가능하면 코드 자체를 이해하기 쉽게 작성해야 합니다.

잘못된 예시:

# 두 수를 더하는 함수
def add(a, b):  # a와 b를 더한다.
    return a + b  # 결과를 반환한다.

올바른 예시:

def add(a, b):
    """
    두 개의 숫자를 인자로 받아 더한 값을 반환하는 함수
    :param a: 첫 번째 숫자
    :param b: 두 번째 숫자
    :return: 두 숫자의 합
    """
    return a + b

 

 

 

4. 코드의 일관성 유지

코드 스타일이나 네이밍 컨벤션은 전체 프로젝트에서 일관성을 유지해야 합니다. 이를 위해 개발 팀 내에서 코딩 규칙을 정하고 지키는 것이 중요합니다.

예시: 변수명 작성 규칙 - 카멜케이스(camelCase) 사용

잘못된 예시:

def AddNumbers(a, b):
    return a + b

def subtract_numbers(a, b):
    return a - b

올바른 예시:

def add_numbers(a, b):
    return a + b

def subtract_numbers(a, b):
    return a - b

 

 

 

5. 모듈과 패키지 활용

모듈과 패키지를 활용하면 코드의 구조를 체계적으로 관리할 수 있습니다. 기능별로 코드를 분리하고, 필요한 기능만 임포트하여 사용하는 것이 좋습니다.

잘못된 예시:

import math

def circle_area(radius):
    return math.pi * radius ** 2

올바른 예시:

from math import pi

def circle_area(radius):
    return pi * radius ** 2

 

 

 

6. 코드 리팩토링

코드 리팩토링은 기존의 코드를 개선하여 가독성과 성능을 높이는 작업입니다. 프로젝트가 진행되면서 기존 코드의 구조를 개선하거나 불필요한 코드를 제거하는 등의 작업을 통해 클린 코드를 유지할 수 있습니다.

잘못된 예시:

def calculate_area_and_perimeter(width, height):
    area = width * height
    perimeter = (width + height) * 2
    return area, perimeter

 

올바른 예시:

def calculate_area(width, height):
    return width * height

def calculate_perimeter(width, height):
    return (width + height) * 2

 

 

 

7. 테스트 코드 작성

테스트 코드는 코드의 안정성을 검증하고 버그를 최소화하는 데 도움을 줍니다. 테스트 코드를 작성하면서 코드의 구조를 분석하고, 유지 보수가 필요한 부분을 찾아 수정할 수 있습니다.

올바른 예시:

def add(a, b):
    return a + b

def test_add():
    assert add(1, 2) == 3
    assert add(5, 7) == 12

 

 

 

8. 에러 처리

예외 처리를 통해 코드의 안정성을 높일 수 있습니다. 에러 발생 시 적절한 에러 메시지를 출력하거나 기본 동작을 수행하는 등의 처리를 통해 사용자 경험을 개선하고 코드의 안정성을 높일 수 있습니다.

잘못된 예시:

def divide(a, b):
    return a 

올바른 예시:

def divide(a, b):
    if b == 0:
        raise ValueError("나누는 수가 0이 될 수 없습니다.")
    return a / b

 

 

 

9. 문서화

프로젝트의 문서화는 코드의 이해도를 높이고, 유지 보수를 용이하게 하는 데 큰 도움이 됩니다. 주요 기능, 클래스, 함수에 대한 설명과 사용 방법을 문서화하면, 다른 개발자들이 프로젝트에 참여하기 쉬워지고 코드의 품질도 향상됩니다.

올바른 예시:

def add(a, b):
    """
    두 개의 숫자를 인자로 받아 더한 값을 반환하는 함수
    :param a: 첫 번째 숫자
    :param b: 두 번째 숫자
    :return: 두 숫자의 합
    """
    return a + b

 

 

 

10. 코드 리뷰

코드 리뷰는 팀원들 간에 코드를 검토하고 피드백을 주고받는 과정입니다. 코드 리뷰를 통해 개발자들은 서로의 코드를 이해하고, 클린 코드 작성법을 향상시킬 수 있습니다.

 

 

 

정리

클린 코드 작성법은 읽기 쉽고 유지보수가 용이한 코드를 작성하는데 초점을 두고 있습니다. 의미 있는 변수명 사용, 함수와 클래스의 역할 분리, 적절한 주석 활용, 일관된 코드 스타일 유지, 모듈과 패키지 활용 등이 주요 원칙입니다. 지속적인 노력과 학습을 통해 클린 코드 작성법을 습관화하면 프로젝트의 품질과 개발 효율성이 크게 향상됩니다.

 

 

반응형

'기타' 카테고리의 다른 글

네이버 지도 API 사용하기  (0) 2023.09.02
[Mac OS] Terminal(터미널) 명령어  (0) 2023.03.20
profile

나를 기록하다

@prao

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...