클린 코드는 개발자 커뮤니티에서의 `최고의 실천 방법`(Best Practices) 중 하나로 여겨지며,
소프트웨어 개발 과정에서 가독성, 유지보수성, 생산성 등의 측면에서 큰 장점을 제공합니다.

image from: firefly.adobe.com

  1. 가독성: 클린 코드는 읽기 쉽고 이해 용이
    1. 코드의 의도와 동작을 쉽게 파악 가능
    2. 가독성이 높은 코드는 코드 리뷰, 유지보수, 버그 수정 등의 작업 효율성 극대화
  2. 유지보수성: 클린 코드는 유지보수 쉬움
    1. 코드의 구조가 명확하고 일관성이 있기 때문에 새로운 기능을 추가하거나 버그를 수정하는 작업이 간단
    2. 코드의 중복을 제거하고 모듈화하여 변경 사항에 대한 영향을 최소화 가능
  3. 버그 감소: 클린 코드는 버그가 발생하기 어려운 구조
    1. 작은 함수와 모듈을 사용하면 코드의 일부분만 수정해도 되므로 다른 부분에 영향을 미치는 버그 감소
    2. 명확한 변수명과 주석을 통해 개발자는 코드를 더 정확하게 이해하고 버그 예방 가능
  4. 생산성 향상: 코드를 이해하고 수정하는 데 소요되는 시간 감소
    1. 가독성이 높은 코드는 협업을 향상
    2. 다른 개발자와의 코드 공유와 리뷰가 원활하게 진행
    3. 개발자의 생산성을 향상시키고 프로젝트의 진행 속도 안정화
  5. 테스트 용이성: 클린 코드는 테스트 최적화 됨
    1. 작은 함수와 모듈은 단위 테스트를 작성하기에 이상적
    2. 테스트 가능한 코드는 버그를 발견하고 수정하는 데 도움을 주며 소프트웨어의 품질을 향상

 

예를 들면 다음과 같습니다.

✅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

 

 

물론 이런 방법도 있습니다.

평생 개발자로 먹고 살 수 있다 free pdf

https://m.hanbit.co.kr/store/books/book_view.html?p_code=E2375873090 

 

유지보수하기 어렵게 코딩하는 방법: 평생 개발자로 먹고 살 수 있다

이 책은 코드를 이해하기 어렵게 작성하는 방법을 설명한다. 다른 사람들이 쉽게 이해할 수 없도록 코드를 작성하여, 유지보수를 어렵게 하고 자신의 가치를 유지하도록 도와준다. 반대로 도서

m.hanbit.co.kr

 

일단 단어의 차이가 있습니다.

CS(Computer Science) 라고 하는 학문과 Scientist

컴퓨터 사이언스와 사이언티스트(물리학, 화학, 생물학)

과학(科學) 또는 사이언스(영어: Science)는 사물 구조, 성질, 법칙 등을 관찰 가능한 방법으로 얻어진 체계적이고 이론적인 지식의 체계를 말한다. 좁게는 인류 경험주의 방법론 자연주의에 근거하여 실험을 통해 얻어낸 자연계에 대한 지식들을 의미한다.[1] 과학자들은 자연계에서 관찰되는 현상들을 과학적 방법에 따라 자연적인 (초자연적이지 않은) 이론으로 설명하려고 시도한다.

from: https://ko.wikipedia.org/wiki/%EA%B3%BC%ED%95%99

영어와 프랑스어인 ‘science’는 ‘자연 현상에 대한 체계적인 지식’이자 ‘추상적 논리체계’를 뜻한다. 과학은 어떤 사물을 ‘안다’라는 라틴어 ‘scire’에서 유래됐다. 그리스어 sophia(知)에 바탕을 둔 philosophia(哲學 : philosophy)와 관계가 있다. 그래서 19세기 초까지 자연과학(natural science)을 자연철학(natural philosophy)이라고 했다.

from: https://www.sciencetimes.co.kr/news/science과학科學-잘못된-번역/#:~:text=영어와%20프랑스어인%20'science,philosophy)와%20관계가%20있다.

 

컴퓨터로 일하는 것은 과학입니다.



image from: https://prezi.com/zktllzmaipum/ai/

 

+ Recent posts