본문 바로가기

CS지식/개발 상식

[CS지식 - 개발 상식] 클린코드

1. 클린코드 의미

  • 원하는 로직을 빠르게 찾을 수 있는 코드,  누구나 이해하기 쉽도록 작성된 코드, 읽기 쉬운 코드
    → 명확한 이름, 중복 최소화, 가독성 높이기
  • 클린코드의 특성
    1. 모든 테스트 실행
    2. 중복 제거
    3. 프로그래머의 의도 표현
    4. 클래스와 메서드 수의 최소화

 

2. 클린코드 중요성

  • 유지보수 시간의 단축
    → 코드리뷰, 코드파악, 디버깅 시간 단축

 

3. 클린코드 필요 이유

  • Technical Debt 발생

변경 비용과 대응속도에 대한 이상치와 실제 프로젝트에서 발생하는 수치 비교(출처: Clean Code sheet)

→ 차이가 생기는 이유 : 개발초기에 클린코드로 개발하기 보다는 좀 더 빠르고 쉬운 방법을 선택하기 때문

                                     ex) copy& paste

 

 

이상적인 변경 비용과 차이가 나는 부분 Technical Debt(출처: Clean Code sheet)

→ 이상적인 변경비용과의 차이가 나는 부분 :  Technical Debt(기술 부채)
                                                                          현 시점에서 더 나은 접근방식보다 더 쉬운 솔루션을 채택함으로써
                                                                          발생되는 추가적인 재작업의 비용

→ 클린코드 작성을 위해 개발자들이 언젠간 해결해야 되는 부채 인  셈이라고 할 수 있음

 

4. 클린코드 원칙

Clean Code의 주요원칙 General(가장 기본적인 원칙)

  • Follow Standard Conventions : Coding의 표준, 아키텍쳐 표준 및 설계 가이드 준수
  • Keep it Simple, Stupid(KISS) : 단순한 것이 효율적, 복잡합을 최소화
  • Boy Scout Rule : 참조되거나 수정되는 코드는 원래보다 clean하게 해야함
  • Root Cause Analysis : 항상 근본적인 원인을 찾아라. 그렇지 않으면 반복될 것이다
  • Do not Multiple Languages in One Source File : 하나의 파일은 하나의 언어로 작성하라(Java, JavaScript, Html 등)

 

 

 

참고)

클린코드란 무엇인가? (samsungsds.com)

 

클린코드란 무엇인가?

개발자라면 누구나 한 번쯤은 고민해 봤을 만한 클린코드! 클린코드란 무엇이고, 클린코드를 작성하기 위한 원칙들은 어떤 것들이 있는지 알아보겠습니다.

www.samsungsds.com

클린 코드란 무엇일까 (tistory.com)

 

클린 코드란 무엇일까

타입크스립트를 공부하면서 "지금 작성하고 있는 코드가 깨끗한가? 올바른 길로 가고있나?" 생각이 들었습니다. 그렇게 클린코드에 관해 찾아보았고, 토스에서 진행한 [실무에서 바로 쓰는 Fronte

talkwithcode.tistory.com