클린 코드의 중요성
클린 코드는 개발자 커뮤니티에서의 `최고의 실천 방법`(Best Practices) 중 하나로 여겨지며,
소프트웨어 개발 과정에서 가독성, 유지보수성, 생산성 등의 측면에서 큰 장점을 제공합니다.
- 가독성: 클린 코드는 읽기 쉽고 이해 용이
- 코드의 의도와 동작을 쉽게 파악 가능
- 가독성이 높은 코드는 코드 리뷰, 유지보수, 버그 수정 등의 작업 효율성 극대화
- 유지보수성: 클린 코드는 유지보수 쉬움
- 코드의 구조가 명확하고 일관성이 있기 때문에 새로운 기능을 추가하거나 버그를 수정하는 작업이 간단
- 코드의 중복을 제거하고 모듈화하여 변경 사항에 대한 영향을 최소화 가능
- 버그 감소: 클린 코드는 버그가 발생하기 어려운 구조
- 작은 함수와 모듈을 사용하면 코드의 일부분만 수정해도 되므로 다른 부분에 영향을 미치는 버그 감소
- 명확한 변수명과 주석을 통해 개발자는 코드를 더 정확하게 이해하고 버그 예방 가능
- 생산성 향상: 코드를 이해하고 수정하는 데 소요되는 시간 감소
- 가독성이 높은 코드는 협업을 향상
- 다른 개발자와의 코드 공유와 리뷰가 원활하게 진행
- 개발자의 생산성을 향상시키고 프로젝트의 진행 속도 안정화
- 테스트 용이성: 클린 코드는 테스트 최적화 됨
- 작은 함수와 모듈은 단위 테스트를 작성하기에 이상적
- 테스트 가능한 코드는 버그를 발견하고 수정하는 데 도움을 주며 소프트웨어의 품질을 향상
예를 들면 다음과 같습니다.
✅Good
def calculate_total_price(items):
total_price = 0
for item in items:
total_price += item.price * item.quantity
return total_price
🚫Bad
def calc(items):
tp = 0
for i in items:
tp += i.p * i.q
return tp
가독성: 첫 번째 예제는 변수와 함수의 이름이 명확하게 지어져 있어 코드를 읽기 쉽고 이해하기 쉽습니다.
변수명인 total_price, item.price, item.quantity는 코드의 의도를 명확하게 전달합니다.
두 번째 예제의 경우, 약어와 알파벳 하나로 이루어진 변수명인 tp, i.p, i.q는 코드의 의미를 이해하기 어렵게 만듭니다.
유지보수성: 첫 번째 예제는 구조가 명확하고 일관성이 있습니다.
calculate_total_price 함수는 단일 기능을 수행하며, 변수명과 주석을 통해 코드의 동작을 명확히 설명합니다. 이는 새로운 기능 추가 또는 수정 시 코드의 변경 범위를 최소화하고 유지보수를 쉽게 만듭니다.
반면, 두 번째 예제는 변수명이 알기 어려우며 함수의 목적과 동작을 파악하기 어려워 야근을 겪을 수 있습니다.
버그 감소: 첫 번째 예제는 변수와 함수의 이름을 명확하게 지어 코드를 이해하기 쉽게 만듭니다.
따라서 코드를 더 정확하게 이해하고 버그를 예방하는 데 도움이 됩니다.
두 번째 예제는 변수명이 약어로 되어 있고, 코드의 의도가 분명하지 않기 때문에 버그 발생 가능성이 높아집니다.
script from: chatgpt
물론 이런 방법도 있습니다.
https://m.hanbit.co.kr/store/books/book_view.html?p_code=E2375873090